Java实现邮件发送

打印 上一主题 下一主题

主题 618|帖子 618|积分 1854

这里我们以QQ邮箱为例。
一、导入依赖:
  1.     <dependencies>
  2.         
  3.         <dependency>
  4.             <groupId>javax.activation</groupId>
  5.             <artifactId>activation</artifactId>
  6.             <version>1.1.1</version>
  7.         </dependency>
  8.         
  9.         <dependency>
  10.             <groupId>javax.mail</groupId>
  11.             <artifactId>mail</artifactId>
  12.             <version>1.4.7</version>
  13.         </dependency>
  14.     </dependencies>
复制代码
二、设置自己的QQ邮箱

 
 开启以上两项服务。
三、具体实现
  1. import com.sun.mail.util.MailSSLSocketFactory;
  2. import javax.mail.*;
  3. import javax.mail.internet.InternetAddress;
  4. import javax.mail.internet.MimeMessage;
  5. import java.util.Properties;
  6. public class SendEmail {
  7.     /* addressee:收件人邮箱
  8.      *title:邮件标题标题
  9.      *content:邮件内容
  10.      */
  11.     public static void send(String addressee, String title, String content) throws Exception {
  12.         Properties prop = new Properties();
  13.         prop.setProperty("mail.host", "smtp.qq.com");//邮件服务器:QQ
  14.         prop.setProperty("mail.transport.protocol", "smtp");//邮件发送协议:smtp
  15.         prop.setProperty("mail.smtp.auth", "true");//需要验证用户名和密码
  16.         //QQ邮箱,还需要设置SSL加密
  17.         MailSSLSocketFactory factory = new MailSSLSocketFactory();
  18.         factory.setTrustAllHosts(true);
  19.         prop.put("maim.smtp.ssl.enable", "true");
  20.         prop.put("maim.smtp.ssl.socketFactory", factory);
  21.         //javaMail发送email的五个步骤
  22.         //1.定义一个整个应用环境需要的session对象
  23.         Session session = Session.getDefaultInstance(prop, new Authenticator() {
  24.             @Override
  25.             protected PasswordAuthentication getPasswordAuthentication() {
  26.                 return new PasswordAuthentication("自己的邮箱", "授权码");
  27.             }
  28.         });
  29.         //开启session的debug模式
  30.         session.setDebug(true);
  31.         //2.通过session得到transport对象
  32.         Transport transport = session.getTransport();
  33.         //3.使用邮箱用户名和授权码连接上服务器
  34.         transport.connect("smtp.qq.com", "自己的邮箱", 授权码");
  35.         //4.创建邮件
  36.         //创建邮件对象
  37.         MimeMessage message = new MimeMessage(session);
  38.         //发邮件人
  39.         message.setFrom(new InternetAddress("自己的邮箱"));
  40.         //收件人 可以群发setRecipients
  41.         message.setRecipient(Message.RecipientType.TO, new InternetAddress(addressee));
  42.         //邮件标题
  43.         message.setSubject(title);
  44.         //邮件内容,前内容,后格式
  45.         message.setContent(content, "text/html;charset=UTF-8");
  46.         //5.发送邮件
  47.         transport.sendMessage(message, message.getAllRecipients());
  48.         //6.关闭连接
  49.         transport.close();
  50.     }
  51. }
复制代码
 
 
(本文仅作个人学习记录用,如有纰漏敬请指正)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

小小小幸运

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表