JavaMail发送带多个附件的邮件,多个收件人,多个抄送人
2017-12-06 10:36
681 查看
/** * 方法描述:发送带附件的邮件 * * @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; }
相关文章推荐
- JavaMail邮件发送功能(包含多收件人 多抄送人 多附件)
- javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)
- JavaMail发送带多个附件的邮件,多个收件人,多个抄送人
- javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)
- javamail实现腾讯邮箱(企业邮箱,qq邮箱)发送邮件(多收件人多附件)
- Linux 发送邮件,抄送+附件,多收件人
- ci框架(codeigniter)Email发送邮件、收件人、附件、Email调试工具
- C#基于SMTP协议和SOCKET通信,实现邮件内容和附件的发送,并可隐藏收件人
- 一个python的邮件发送脚本,自动,定时,可以附件发送,抄送,附有说明文件
- javamail 发送 带附件的 html邮件
- javaMail发送邮件和附件(转载别人的文章加入了发送附件)
- JavaMail邮件发送-能发送附件和带背景音乐的邮件的小系统
- java实现邮件发送, 抄送及多附件发送
- javamail 发送邮件 无主题 无收件人 邮件内容乱码 解决
- JavaMail(3)——发送带附件的邮件
- 使用javaMail来发送和接收带附件的邮件
- javamail实现向多人发送带附件的html格式邮件
- C#基于SMTP协议和SOCKET通信,实现邮件内容和附件的发送,并可隐藏收件人
- 用JavaMail发送带附件的邮件
- javaVuser——javamail发送邮件+附件