javamail入门3--发送带有附件的邮件

javamail入门3--发送带有附件的邮件
这个例子是发送附件邮件的,到目前为止javamail的邮件发送操作基本可以满足大部分需求了

String smtp_host = "smtp.faw.com.cn"; // 提供发送服务的邮件服务器
String user = "usrname"; // 邮件服务器登录用户名
String password = "password"; // 邮件服务器登录密码
String from = "usrname@faw.com.cn"; // 发送人邮件地址
String to = "test@gmail.com"; // 收件人邮件地址
String subject = "我的第一封邮件"; // 邮件标题
String content = "<font style=\"BACKGROUND-COLOR: #666699\" color=\"#ff0000\" size=\"5\">我是<a href=\"llying.iteye.com\">超文本</a></font>";//超文本内容

try {
Properties props = new Properties();
//Session类定义了基本的邮件会话。就像Http会话那样,我们进行收发邮件的工作都是基于这个会话的。
Session session = Session.getInstance(props, null);
//由于Message是 一个抽象类,大多数情况下,我们使用javax.mail.internet.MimeMessage这个子类
MimeMessage message = new MimeMessage(session);

InternetAddress fromAddress = new InternetAddress(from);
message.setFrom(fromAddress);
InternetAddress toAddress = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, toAddress);
message.setSubject(subject);
//创建Multipart的容器
Multipart multipart = new MimeMultipart();
//创建第一部分,正文部分
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(content, "text/html;charset=gbk");//给BodyPart对象设置内容和格式/编码方式
//插入正文部分
multipart.addBodyPart(messageBodyPart);

//创建第二部分,文件部分
messageBodyPart = new MimeBodyPart();
// 获得附件
DataSource source = new FileDataSource("D:\\workspace\\fwk\\javamail\\lib.zip");
//设置附件的数据处理器
messageBodyPart.setDataHandler(new DataHandler(source));
//设置附件名
messageBodyPart.setFileName("D:\\workspace\\fwk\\javamail\\lib.zip");
//将附件插入
multipart.addBodyPart(messageBodyPart);
/**
* 上面的附件插入可以进行循环插入多个
*/

//将多部分内容放到e-mail中
message.setContent(multipart);

//保存对于e-mail的修改
message.saveChanges();

Transport transport = session.getTransport("smtp");
transport.connect(smtp_host, user, password);
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
transport.close();

} catch(Exception m) {
m.printStackTrace();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值