jar包的支持

activation-1.1.1.jar
mail-1.4.7.jar

拿到授权码

image.png
开启服务
image.png
image.png

Java

  1. package com.dyq;
  2. import com.sun.mail.util.MailSSLSocketFactory;
  3. import javax.mail.*;
  4. import javax.mail.internet.InternetAddress;
  5. import javax.mail.internet.MimeMessage;
  6. import java.security.GeneralSecurityException;
  7. import java.util.Properties;
  8. /**
  9. * 发送一封简单的邮件
  10. */
  11. public class MailDemo01 {
  12. public static void main(String[] args) throws Exception {
  13. Properties prop = new Properties();
  14. prop.setProperty("mail.host", "smtp.qq.com"); //设置QQ邮件服务区
  15. prop.setProperty("mail.transport.protocol", "smtp"); //邮件发送协议
  16. prop.setProperty("mail.smtp.auth", "true"); //需要验证用户名密码
  17. //关于QQ邮箱,还要设置SSL加密,加上以下代码即可,大厂,其他邮箱不需要
  18. MailSSLSocketFactory sf = new MailSSLSocketFactory();
  19. sf.setTrustAllHosts(true);
  20. prop.put("mail.smtp.ssl.enable", "true");
  21. prop.put("mail.smtp.socketFactory", sf);
  22. //使用JavaMail发送邮箱的5个步骤
  23. //1.创建定义整个应用程序所需的环境信息的Session对象
  24. //QQ才有,其他邮箱不用
  25. Session session = Session.getInstance(prop, new Authenticator() {
  26. @Override
  27. protected PasswordAuthentication getPasswordAuthentication() {
  28. return new PasswordAuthentication("504561395@qq.com", "xkmwtqwlqsbgbgfb");
  29. }
  30. });
  31. // 开启Session的debug模式:可以看到程序发送Email的运行状态
  32. session.setDebug(true);
  33. //2.通过session得到transport对象
  34. Transport ts = session.getTransport();
  35. //3.使用邮箱的用户名和授权码连上邮件服务器
  36. ts.connect("smtp.qq.com", "504561395@qq.com", "xkmwtqwlqsbgbgfb");
  37. //4.创建邮箱:写邮件
  38. //注意需要传递Session
  39. Message message = new MimeMessage(session);
  40. //指明邮件的发件人
  41. message.setFrom(new InternetAddress("504561395@qq.com"));
  42. //指明收件人
  43. message.setRecipient(Message.RecipientType.TO, new InternetAddress("504561395@qq.com"));
  44. //设置邮箱标题
  45. message.setSubject("秃头小分队Demo");
  46. //文本内容
  47. message.setContent("<h1 style='color:red'>你好啊!</h1>", "text/html;charset=UTF-8");
  48. //5.发送邮件
  49. ts.sendMessage(message,message.getAllRecipients());
  50. //6.关闭
  51. ts.close();
  52. }
  53. }