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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!