郵件開發:複雜郵件的一個示例
/**
*中文附件名_回信地址_友好名稱
*
*/
public class ComplexMail {
public static void main(String[] args) throws Exception{
// System.setProperty("socksProxyHost", "proxy2.lh.petrochina");
// System.setProperty("socksProxyPort", "8080");
Properties props = new Properties();
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "smtp.sohu.com");
Session session = Session.getInstance(props,
new Authenticator()
{
@Override/*策略模式,程式碼封裝*/
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("xxssyyyyssxx","xsy881026");
}
}
);
session.setDebug(true);
MimeMessage msg = new MimeMessage(session);
/*傳送人*/
msg.setFrom(new InternetAddress("xxssyyyyssxx@sohu.com"));
msg.setSubject("複雜郵件生產");
/*回覆人,如果不設定表示回覆給傳送人*/
msg.setReplyTo(new Address[]{new InternetAddress("yanshixiong@126.com")});
//msg.setRecipients(RecipientType.TO,InternetAddress.parse(MimeUtility.encodeText("熊詩言") + " <xxssyyyyssxx@sohu.com>," + MimeUtility.encodeText("熊詩言") + " <xxssyyyyssxx@126.com>"));
msg.setRecipients(RecipientType.TO,InternetAddress.parse("xxssyyyyssxx@126.com"));
//郵件是一個multipart/mixed複雜物件
/*設定為mixed,related,alternative不然會出現ParseException*/
MimeMultipart msgMultipart = new MimeMultipart("mixed");
msg.setContent(msgMultipart);
/*附件1*/
MimeBodyPart attch1 = new MimeBodyPart();
/*附件2*/
MimeBodyPart attch2 = new MimeBodyPart();
/*具體內容*/
MimeBodyPart content = new MimeBodyPart();
msgMultipart.addBodyPart(attch1);
msgMultipart.addBodyPart(attch2);
msgMultipart.addBodyPart(content);
/*附件1的設定*/
DataSource ds1 = new FileDataSource(
"D:\\Users\\熊詩言\\Desktop\\javamail\\src\\resource\\Java培訓.txt"
);
DataHandler dh1 = new DataHandler(ds1 );
attch1.setDataHandler(dh1);
/*使用MimeUtility.encodeText進行中文編碼,否則顯示不出來*/
attch1.setFileName(
MimeUtility.encodeText("java培訓.txt")
//首先你的中文編碼是什麼?然後對中文編碼的二進位制進行QuotedPrintable或者Base64編碼
//=?UTF-8?Q?.....?=
//=?GBK?B?.....?=
);
/*附件2的設定*/
DataSource ds2 = new FileDataSource(
"D:\\Users\\熊詩言\\Desktop\\javamail\\src\\resource\\slogo.gif"
);
DataHandler dh2 = new DataHandler(ds2 );
attch2.setDataHandler(dh2);
attch2.setFileName("slogo.gif");
/*content是一個multipart/related複雜物件*/
MimeMultipart bodyMultipart = new MimeMultipart("related");
content.setContent(bodyMultipart);
/*內容有html和圖片*/
MimeBodyPart htmlPart = new MimeBodyPart(); /*這個也可以設定成為純文字和HTML的alternative*/
MimeBodyPart gifPart = new MimeBodyPart();
bodyMultipart.addBodyPart(htmlPart);
bodyMultipart.addBodyPart(gifPart);
/*html部分呢*/
htmlPart.setContent("你們的Java培訓真的是最牛的嗎?大家都這麼說,我想跟你們比試一下!這可是我自己用程式生成和傳送的郵件哦!<img src='cid:http://www.itcast.cn/logo.gif'>"
, "text/html;charset=gbk");
/*圖片部分呢*/
DataSource gifds = new FileDataSource(
"D:\\Users\\熊詩言\\Desktop\\javamail\\src\\resource\\logo.gif"
);
DataHandler gifdh = new DataHandler(gifds);
gifPart.setDataHandler(gifdh);
gifPart.setHeader("Content-ID", "http://www.itcast.cn/logo.gif");//被別的引用CID:XXXXXX
/*內容生產完事兒了一定儲存*/
msg.saveChanges();
/*儲存到檔案中*/
OutputStream ips = new FileOutputStream("demo2.eml");
msg.writeTo(ips);
ips.close();
Transport.send(msg);
}
}
*中文附件名_回信地址_友好名稱
*
*/
public class ComplexMail {
public static void main(String[] args) throws Exception{
// System.setProperty("socksProxyHost", "proxy2.lh.petrochina");
// System.setProperty("socksProxyPort", "8080");
Properties props = new Properties();
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "smtp.sohu.com");
Session session = Session.getInstance(props,
new Authenticator()
{
@Override/*策略模式,程式碼封裝*/
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("xxssyyyyssxx","xsy881026");
}
}
);
session.setDebug(true);
MimeMessage msg = new MimeMessage(session);
/*傳送人*/
msg.setFrom(new InternetAddress("xxssyyyyssxx@sohu.com"));
msg.setSubject("複雜郵件生產");
/*回覆人,如果不設定表示回覆給傳送人*/
msg.setReplyTo(new Address[]{new InternetAddress("yanshixiong@126.com")});
//msg.setRecipients(RecipientType.TO,InternetAddress.parse(MimeUtility.encodeText("熊詩言") + " <xxssyyyyssxx@sohu.com>," + MimeUtility.encodeText("熊詩言") + " <xxssyyyyssxx@126.com>"));
msg.setRecipients(RecipientType.TO,InternetAddress.parse("xxssyyyyssxx@126.com"));
//郵件是一個multipart/mixed複雜物件
/*設定為mixed,related,alternative不然會出現ParseException*/
MimeMultipart msgMultipart = new MimeMultipart("mixed");
msg.setContent(msgMultipart);
/*附件1*/
MimeBodyPart attch1 = new MimeBodyPart();
/*附件2*/
MimeBodyPart attch2 = new MimeBodyPart();
/*具體內容*/
MimeBodyPart content = new MimeBodyPart();
msgMultipart.addBodyPart(attch1);
msgMultipart.addBodyPart(attch2);
msgMultipart.addBodyPart(content);
/*附件1的設定*/
DataSource ds1 = new FileDataSource(
"D:\\Users\\熊詩言\\Desktop\\javamail\\src\\resource\\Java培訓.txt"
);
DataHandler dh1 = new DataHandler(ds1 );
attch1.setDataHandler(dh1);
/*使用MimeUtility.encodeText進行中文編碼,否則顯示不出來*/
attch1.setFileName(
MimeUtility.encodeText("java培訓.txt")
//首先你的中文編碼是什麼?然後對中文編碼的二進位制進行QuotedPrintable或者Base64編碼
//=?UTF-8?Q?.....?=
//=?GBK?B?.....?=
);
/*附件2的設定*/
DataSource ds2 = new FileDataSource(
"D:\\Users\\熊詩言\\Desktop\\javamail\\src\\resource\\slogo.gif"
);
DataHandler dh2 = new DataHandler(ds2 );
attch2.setDataHandler(dh2);
attch2.setFileName("slogo.gif");
/*content是一個multipart/related複雜物件*/
MimeMultipart bodyMultipart = new MimeMultipart("related");
content.setContent(bodyMultipart);
/*內容有html和圖片*/
MimeBodyPart htmlPart = new MimeBodyPart(); /*這個也可以設定成為純文字和HTML的alternative*/
MimeBodyPart gifPart = new MimeBodyPart();
bodyMultipart.addBodyPart(htmlPart);
bodyMultipart.addBodyPart(gifPart);
/*html部分呢*/
htmlPart.setContent("你們的Java培訓真的是最牛的嗎?大家都這麼說,我想跟你們比試一下!這可是我自己用程式生成和傳送的郵件哦!<img src='cid:http://www.itcast.cn/logo.gif'>"
, "text/html;charset=gbk");
/*圖片部分呢*/
DataSource gifds = new FileDataSource(
"D:\\Users\\熊詩言\\Desktop\\javamail\\src\\resource\\logo.gif"
);
DataHandler gifdh = new DataHandler(gifds);
gifPart.setDataHandler(gifdh);
gifPart.setHeader("Content-ID", "http://www.itcast.cn/logo.gif");//被別的引用CID:XXXXXX
/*內容生產完事兒了一定儲存*/
msg.saveChanges();
/*儲存到檔案中*/
OutputStream ips = new FileOutputStream("demo2.eml");
msg.writeTo(ips);
ips.close();
Transport.send(msg);
}
}
相關文章
- 郵件開發:接收解析郵件
- python 發個郵件Python
- 郵件開發:DNS、JDNIDNS
- 一個不錯的發郵件工具blat
- 發郵件的例子
- 群發郵件
- shell發郵件
- oracle 發郵件Oracle
- 郵件營銷用純文字郵件還是html郵件HTML
- 郵件開發:傳送程式
- 用Oracle發郵件Oracle
- linux 發郵件Linux
- 郵件開發:Javamail、JAF簡介JavaAI
- 郵件開發:電子郵件的傳輸過程、各種協議的說明協議
- PbootCMS郵件配置修改發件人資訊boot
- Android開發呼叫第三方郵件應用傳送郵件Android
- 釣魚郵件盯上iPhone,釣魚垃圾郵件又一個傳送高潮薦iPhone
- 蘋果郵件蘋果
- Oracle 發郵件過程Oracle
- 轉發郵件附件丟了
- 發郵件失敗,求助
- 使用python傳送郵件和接收郵件Python
- 一次性解決python smtp 傳送outlook郵件,163郵件,qq郵件等等.Python
- postfix郵件系統之郵件客戶端無法收郵件問題解析客戶端
- 郵件開發:SMTP協議詳解協議
- 一個生日郵件提醒小工具
- 郵件的傳送
- Java實現QQ郵件傳送郵件工具類Java
- linux下發郵件的配置Linux
- linux mail利用外部郵箱地址發郵件LinuxAI
- 郵件安全問題有哪些?Coremail郵件安全閘道器——雙一流高校背後的郵件安全專家REMAI
- 郵件傳送
- Laravel 郵件配置Laravel
- Java郵件(JavaMail)JavaAI
- sql 郵件配置SQL
- 郵件告警中心
- 傳送郵件
- 電子郵件