Java使用QQ邮箱发送邮件

  • 来源:新网
  • 更新日期:2018-03-13

摘要:本文介绍通过java,使用QQ邮箱进行发送邮件。 首先要打开邮箱的SMTP服务,腾讯会给一个授权码。 package util; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Message.RecipientTyp

本文介绍通过java,使用QQ邮箱进行发送邮件。

首先要打开邮箱的SMTP服务,腾讯会给一个授权码。

 

package util; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Message.RecipientType; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import com.sun.mail.util.MailSSLSocketFactory; /** * 邮件发送工具类 * @author jhc * */ public class MailUtil { //from发件人邮箱,textcode发件人授权码,to收件人地址,theme邮件主题,text邮件正文 public static void sendMail(final String from,final String textcode,String to,String theme,String text){ //1、创建连接对象,连接到邮箱服务器 try { Properties prop = new Properties(); // 开启debug调试,以便在控制台查看 prop.setProperty("mail.debug", "true"); // 设置邮件服务器主机名 prop.setProperty("mail.host", "smtp.qq.com"); // 发送服务器需要身份验证 prop.setProperty("mail.smtp.auth", "true"); // 发送邮件协议名称 prop.setProperty("mail.transport.protocol", "smtp"); // 开启SSL加密,否则会失败 MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); prop.put("mail.smtp.ssl.enable", "true"); prop.put("mail.smtp.ssl.socketFactory", sf); // 创建session Session session = Session.getInstance(prop,new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication() { // TODO Auto-generated method stub return new PasswordAuthentication(from,textcode); } }); // 创建邮件 //2、创建邮件对象 Message message = new MimeMessage(session); //2.1、设置发件人 message.setFrom(new InternetAddress(from)); //2.2、设置收件人 message.setRecipient(RecipientType.TO, new InternetAddress(to)); //2.3设置邮件的主题 message.setSubject(theme); //2.4、设置邮件正文 message.setContent(text, "text/html;charset=UTF-8"); Transport.send(message); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { sendMail("","","","","");//依次填入发件人邮箱,发件人授权码,收件人邮箱,邮件主题,邮件正文 } }