邮件开发:复杂邮件的一个示例
来源:互联网 发布:程序员不培训班 编辑:程序博客网 时间:2024/05/21 18:37
/**
*中文附件名_回信地址_友好名称
*
*/
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);
}
}
0 0
- 邮件开发:复杂邮件的一个示例
- 复杂 格式的邮件
- 邮件开发:邮件内容组织结构、复杂邮件的编写API
- 关于java发送邮件的一个示例
- 世界上最复杂的邮件!
- 世界上最复杂的邮件!
- java邮件开发--心得5-java编写复杂的电子邮件
- java邮件开发详解笔记(生成内嵌图片的复杂邮件)
- java邮件开发(二)--构建复杂邮件
- 一个简单的邮件发送开发
- C#编写的一个发送邮件的简单示例
- 基于JavaMail的Java邮件发送:复杂邮件发送
- 基于JavaMail的Java邮件发送:复杂邮件发送
- 基于JavaMail的Java邮件发送:复杂邮件发送
- 基于JavaMail的Java邮件发送:复杂邮件发送
- 基于JavaMail的Java邮件发送:复杂邮件发送
- 基于JavaMail的Java邮件发送:复杂邮件发送
- 基于JavaMail的Java邮件发送(复杂邮件发送)
- poj2796 Feel Good 单调栈
- ScaleType设置无效
- Oracle各种类型的运用|char、varchar、text和nchar、nvarchar、ntext的区别
- jQuery常用总结
- Android中Java和JS调用对方方法的简介
- 邮件开发:复杂邮件的一个示例
- 后台为GridView设置链接
- Activity生命周期
- 阿里云服务器使用OneinStack的lnmp一键安装包后查看nginx的并发数
- C/C++的就业,发展方向
- Java transient,Volatile关键字
- Understanding Steering Behaviors: Queue
- Linux下Java环境变量配置
- 001、iOS 在使用 performSelector时 异常"performSelector may cause a leak because its selector is unknown"