ToB企服应用市场:ToB评测及商务社交产业平台

标题: Java实现邮件发送 [打印本页]

作者: 小小小幸运    时间: 2022-10-26 18:35
标题: Java实现邮件发送
这里我们以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. }
复制代码
 
 
(本文仅作个人学习记录用,如有纰漏敬请指正)

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




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4