java mail 多个收件人_JavaMail发送带多个附件的邮件,多个收件人,多个抄送人

/**

* 方法描述:发送带附件的邮件

*

* @throws UnsupportedEncodingException

*/

public static boolean sendEmailWithAttachment(Email email)

throws UnsupportedEncodingException {

Properties prop = new Properties();

prop.put("mail.smtp.host", mailServer);

prop.put("mail.smtp.auth", "true");

Authenticator auth = new MailAuthenticator();

Session session = Session.getDefaultInstance(prop, auth);

Message message = new MimeMessage(session);

boolean flag = false;

try {

message.setSubject(email.getEmail_subject());// 设置邮件主题

message.setHeader("Header:", email.getEmail_header()); // 设置邮件标题

message.setSentDate(new Date()); // 设置发送时间

Address addressFrom = new InternetAddress(mailAddress, mailAccount); // 设置发信人地址

message.setFrom(addressFrom);

BodyPart messageBodyPart = new MimeBodyPart();

messageBodyPart.setContent(email.getEmail_content(), "text/html;charset=utf-8");

Multipart multipart = new MimeMultipart();

multipart.addBodyPart(messageBodyPart);

MimeBodyPart mimeBodyPart;

//多个附件

for (int i = 0; i < email.getEmail_file().size(); i++) {

Map map = email.getEmail_file().get(i);

String fileSource="";

String fileName="";

for (String key : map.keySet()) {

fileSource = key;

fileName = map.get(key);

}

mimeBodyPart = new MimeBodyPart();

DataSource source = new FileDataSource(fileSource);

mimeBodyPart.setDataHandler(new DataHandler(source));

mimeBodyPart.setFileName(MimeUtility.encodeText(fileName));

multipart.addBodyPart(mimeBodyPart);// Put parts in

}

message.setContent(multipart);

// 设置多个收件人地址

List list = email.getEmail_to();

String toAddress = SendEmail.getAddress(list);

InternetAddress[] internetAddressTo = new InternetAddress().parse(toAddress);

message.setRecipients(Message.RecipientType.TO, internetAddressTo);

// 设置多个抄送地址

String ccAddress = SendEmail.getAddress(email.getEmail_cc());

InternetAddress[] internetAddressCC = new InternetAddress().parse(ccAddress);

message.setRecipients(Message.RecipientType.CC, internetAddressCC);

message.saveChanges();

System.out.println("开始发送邮件……");

Transport.send(message);

System.out.println("发送成功!");

flag = true;

} catch (MessagingException e) {

System.out.println("发送失败!");

flag = false;

e.printStackTrace();

}

return flag;

}

原文:http://blog.csdn.net/o_darling/article/details/21160669

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值