不废话了,今天早上写了个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