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