在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

java发送邮件

2016-12-20 13:17| 发布者: zhangjf| 查看: 457| 评论: 0

摘要: package dec; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; i ...
  1. package dec;
  2. import java.util.Properties;
  3. import javax.mail.Message;
  4. import javax.mail.MessagingException;
  5. import javax.mail.Session;
  6. import javax.mail.Transport;
  7. import javax.mail.internet.AddressException;
  8. import javax.mail.internet.InternetAddress;
  9. import javax.mail.internet.MimeMessage;
  10. /**
  11. *
  12. *
  13. * <p>Title: Java发送邮件测试类 /p>
  14. *
  15. * <p>Description: 示例 业务类</p>
  16. *
  17. * <p>Copyright: Copyright (c) 2012</p>
  18. *
  19. *
  20. * @author dml@2012-12-17
  21. * @version 1.0
  22. */
  23. /****************************************************************
  24. * 对QQ邮箱使用(对于其他的使用类似的你应该也会更改了) 首先把QQ邮箱的POP3 SMTP打开 首先确定你的网络正常、非代理
  25. * 【确定你的QQ邮箱开启了SMTP】!!!! 如果没有开启,那么这样设置下 设置->账户 --在下面-- 把这个选上 [√]SMTP发信后保存到服务器
  26. ****************************************************************/
  27. public class JavaMail {
  28. // 设置服务器
  29. private static String KEY_SMTP = "mail.smtp.host";
  30. private static String VALUE_SMTP = "smtp.qq.com";
  31. // 服务器验证
  32. private static String KEY_PROPS = "mail.smtp.auth";
  33. private static boolean VALUE_PROPS = true;
  34. // 发件人用户名、密码
  35. private String SEND_USER = "********@qq.com";
  36. private String SEND_UNAME = "********";
  37. private String SEND_PWD = "*******";
  38. // 建立会话
  39. private MimeMessage message;
  40. private Session s;
  41. /*
  42. * 初始化方法
  43. */
  44. public JavaMail() {
  45. Properties props = System.getProperties();
  46. props.setProperty(KEY_SMTP, VALUE_SMTP);
  47. props.put(KEY_PROPS, VALUE_PROPS);
  48. s = Session.getInstance(props);
  49. /* s.setDebug(true);开启后有调试信息 */
  50. message = new MimeMessage(s);
  51. }
  52. /**
  53. * 发送邮件
  54. *
  55. * @param headName
  56. * 邮件头文件名
  57. * @param sendHtml
  58. * 邮件内容
  59. * @param receiveUser
  60. * 收件人地址
  61. */
  62. public void doSendHtmlEmail(String headName, String sendHtml,
  63. String receiveUser) {
  64. try {
  65. // 发件人
  66. InternetAddress from = new InternetAddress(SEND_USER);
  67. message.setFrom(from);
  68. // 收件人
  69. InternetAddress to = new InternetAddress(receiveUser);
  70. message.setRecipient(Message.RecipientType.TO, to);
  71. // 邮件标题
  72. message.setSubject(headName);
  73. String content = sendHtml.toString();
  74. // 邮件内容,也可以使纯文本"text/plain"
  75. message.setContent(content, "text/html;charset=GBK");
  76. message.saveChanges();
  77. Transport transport = s.getTransport("smtp");
  78. // smtp验证,就是你用来发邮件的邮箱用户名密码
  79. transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);
  80. // 发送
  81. transport.sendMessage(message, message.getAllRecipients());
  82. transport.close();
  83. System.out.println("send success!");
  84. } catch (AddressException e) {
  85. // TODO Auto-generated catch block
  86. e.printStackTrace();
  87. } catch (MessagingException e) {
  88. e.printStackTrace();
  89. }
  90. }
  91. public static void main(String[] args) {
  92. JavaMail se = new JavaMail();
  93. se.doSendHtmlEmail("邮件头文件名", "邮件内容", "*******@***.com");
  94. }
  95. }
复制代码

所需jar包只有一个, mail.jar


需要注意的是,执行程序前需要保证邮箱开启了SMTP,本例使用QQ邮箱进行测试

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-8 14:16

Copyright 2015-2025 djqfx

返回顶部