java發送郵件
package dec;import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * * * <p>Title: Java發送郵件測試類 /p> * * <p>Description: 示例 業務類</p> * * <p>Copyright: Copyright (c) 2012</p> * * * @author dml@2012-12-17 * @version 1.0 */ /**************************************************************** * 對QQ郵箱使用(對于其他的使用類似的你應該也會更改了) 首先把QQ郵箱的POP3 SMTP打開 首先確定你的網絡正常、非代理 * 【確定你的QQ郵箱開啟了SMTP】!!!! 如果沒有開啟,那么這樣設置下 設置->賬戶 --在下面-- 把這個選上 [√]SMTP發信后保存到服務器 ****************************************************************/ public class JavaMail { // 設置服務器 private static String KEY_SMTP = "mail.smtp.host"; private static String VALUE_SMTP = "smtp.qq.com"; // 服務器驗證 private static String KEY_PROPS = "mail.smtp.auth"; private static boolean VALUE_PROPS = true; // 發件人用戶名、密碼 private String SEND_USER = "********@qq.com"; private String SEND_UNAME = "********"; private String SEND_PWD = "*******"; // 建立會話 private MimeMessage message; private Session s; /* * 初始化方法 */ public JavaMail() { Properties props = System.getProperties(); props.setProperty(KEY_SMTP, VALUE_SMTP); props.put(KEY_PROPS, VALUE_PROPS); s = Session.getInstance(props); /* s.setDebug(true);開啟后有調試信息 */ message = new MimeMessage(s); } /** * 發送郵件 * * @param headName * 郵件頭文件名 * @param sendHtml * 郵件內容 * @param receiveUser * 收件人地址 */ public void doSendHtmlEmail(String headName, String sendHtml, String receiveUser) { try { // 發件人 InternetAddress from = new InternetAddress(SEND_USER); message.setFrom(from); // 收件人 InternetAddress to = new InternetAddress(receiveUser); message.setRecipient(Message.RecipientType.TO, to); // 郵件標題 message.setSubject(headName); String content = sendHtml.toString(); // 郵件內容,也可以使純文本"text/plain" message.setContent(content, "text/html;charset=GBK"); message.saveChanges(); Transport transport = s.getTransport("smtp"); // smtp驗證,就是你用來發郵件的郵箱用戶名密碼 transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD); // 發送 transport.sendMessage(message, message.getAllRecipients()); transport.close(); System.out.println("send success!"); } catch (AddressException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } public static void main(String[] args) { JavaMail se = new JavaMail(); se.doSendHtmlEmail("郵件頭文件名", "郵件內容", "*******@***.com"); } } </pre>
所需jar包只有一個, mail.jar需要注意的是,執行程序前需要保證郵箱開啟了SMTP,本例使用QQ郵箱進行測試
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!