JavaMail发送带多个附件的邮件,多个收件人,多个抄送人
2014-03-14 23:00
465 查看
/** * 方法描述:发送带附件的邮件 * * @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<String, String> 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<String> 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; }
相关文章推荐
- 垃圾邮件过滤器 python简单实现
- 用ASP.NET做的个性化的邮件发送系统
- sqlserver数据库使用存储过程和dbmail实现定时发送邮件
- Jmail组件发送邮件之绝对能用的函数
- 我的群发邮件程序
- smtp邮件发送一例
- 用PHP发电子邮件
- JSP发送邮件实例
- 给多个地址发邮件的类
- python发送邮件示例(支持中文邮件标题)
- 基于JavaMail的常用类详细介绍
- 使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)
- 基于python发送邮件的乱码问题的解决办法
- Outlook大邮件归档转储办法
- 备份outlook的时候,请不要忘记同时备份Outlook.NK2文件
- python django 关于出错自动发送邮件
- SMTP 队列邮件对照表
- 使用SMTP协议 Telnet 邮件服务器(测试邮件服务器)
- 用通讯组实现邮件列表:Exchange2003学习系列之九
- 请教如何让Exchange 2000收发外部邮件