資源簡介
該java代碼包含有
1. 發送一封只包含文本的簡單郵件
2.發送包含內嵌圖片的郵件
3.發送包含附件的郵件
4.發送包含內嵌圖片和附件的復雜郵件
相關配套博文:
https://blog.csdn.net/qq_36474549/article/details/83342615
代碼片段和文件信息
package?cn.wz.util;
import?java.io.FileOutputStream;
import?java.util.Properties;
import?javax.activation.DataHandler;
import?javax.activation.FileDataSource;
import?javax.mail.Message;
import?javax.mail.Session;
import?javax.mail.Transport;
import?javax.mail.internet.InternetAddress;
import?javax.mail.internet.MimeBodyPart;
import?javax.mail.internet.MimeMessage;
import?javax.mail.internet.MimeMultipart;
/**
?*?@Description:?發送包含附件的郵件
?*/
public?class?SendEmail_attachments?{
private?static?String?mailFrom?=?null;//?指明郵件的發件人
private?static?String?password_mailFrom?=?null;//?指明郵件的發件人登陸密碼
private?static?String?mailTo?=?null;?//?指明郵件的收件人
private?static?String?mailTittle?=?null;//?郵件的標題
private?static?String?mailText?=?null;?//?郵件的文本內容
private?static?String?mail_host?=?null;?//?郵件的服務器域名
private?static?String?photoSrc?=?null;?//?發送圖片的路徑
public?static?void?main(String[]?args)?throws?Exception?{
mailFrom?=?“test1@wz.com“;
password_mailFrom?=?“test“;
mailTo?=?“test2@wz.com“;
mailTittle?=?“JavaMail郵件發送測試“;
mailText?=?“使用JavaMail創建的帶附件的郵件“;
mail_host?=?“wz.com“;
photoSrc?=?“resource\\images\\5.jpg“;
Properties?prop?=?new?Properties();
prop.setProperty(“mail.host“?mail_host);//?需要修改
prop.setProperty(“mail.transport.protocol“?“smtp“);
prop.setProperty(“mail.smtp.auth“?“true“);
//?使用JavaMail發送郵件的5個步驟
//?1、創建session
Session?session?=?Session.getInstance(prop);
//?開啟Session的debug模式,這樣就可以查看到程序發送Email的運行狀態
session.setDebug(true);
//?2、通過session得到transport對象
Transport?ts?=?session.getTransport();
//?3、連上郵件服務器,需要發件人提供郵箱的用戶名和密碼進行驗證
ts.connect(mail_host?mailFrom?password_mailFrom);//?需要修改
//?4、創建郵件
Message?message?=?createAttachMail(session);
//?5、發送郵件
ts.sendMessage(message?message.getAllRecipients());
ts.close();
}
/**
?*?@Method:?createAttachMail
?*?@Description:?創建一封帶附件的郵件
?*/
public?static?MimeMessage?createAttachMail(Session?session)?throws?Exception?{
MimeMessage?message?=?new?MimeMessage(session);
//?設置郵件的基本信息
message.setFrom(new?InternetAddress(mailFrom)); //?發件人
message.setRecipient(Message.RecipientType.TO?new?InternetAddress(mailTo));//?收件人
//?郵件標題
message.setSubject(mailTittle);
//?創建郵件正文,為了避免郵件正文中文亂碼問題,需要使用charset=UTF-8指明字符編碼
MimeBodyPart?text?=?new?MimeBodyPart();
text.setContent(mailText?“text/html;charset=UTF-8“);
//?創建郵件附件
MimeBodyPart?attach?=?new?MimeBodyPart();
DataHandler?dh?=?new?DataHandler(new?FileDataSource(photoSrc));//?需要修改
attach.setDataHandler(dh);
attach.setFileName(dh.getName());
//?創建容器描述數據關系
MimeMultipart?mp?=?new?MimeMultipart();
mp.addBodyPart(text);
mp.addBodyPart(attach);
mp.setSubType(“mixed“);
message.setContent(mp);
message.saveChanges();
//?將創建的Email寫入到F盤存儲
message.writeTo(new?FileOutputStream(“F:/Program?Files/TestMail/ImageMail.eml“));//?需要修改
//?返回生成的郵件
return?message;
}
}
評論
共有 條評論