600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > JAVA实现邮件抄送 密送 多个附件发送

JAVA实现邮件抄送 密送 多个附件发送

时间:2021-05-03 03:13:19

相关推荐

JAVA实现邮件抄送 密送 多个附件发送

以下代码在本地环境可以测试成功,假如部署到服务器上,无法运行成功,因为必须使用SSL,端口号为465。

所以需要将

此处修改为

经过测试,邮件发送成功

//原文链接:/blog/2212309 //需要下载mail.jar 地址:/technetwork/java/index-138643.html//简单调试一下可用,替换一下邮箱和授权码,邮箱密码是授权码,详情百度。import java.io.File;import java.io.UnsupportedEncodingException;import java.util.Date;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Multipart;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import javax.mail.internet.MimeUtility;/*** 邮件多人发送,可设置发送,抄送,密送* * @author zhutongyu* */public class SendMail {private static SendMail instance = null;private SendMail() {}public static SendMail getInstance() {if (instance == null) {instance = new SendMail();}return instance;}public void send(String to[], String cs[], String ms[], String subject,String content, String formEmail, String fileList[]) {try {Properties p = new Properties(); // Properties p =// System.getProperties();p.put("mail.smtp.auth", "true");p.put("mail.transport.protocol", "smtp");p.put("mail.smtp.host", "");p.put("mail.smtp.port", "25");// 建立会话Session session = Session.getInstance(p);Message msg = new MimeMessage(session); // 建立信息BodyPart messageBodyPart = new MimeBodyPart();Multipart multipart = new MimeMultipart();msg.setFrom(new InternetAddress(formEmail)); // 发件人String toList = null;String toListcs = null;String toListms = null;// 发送,if (to != null) {toList = getMailList(to);InternetAddress[] iaToList = new InternetAddress().parse(toList);msg.setRecipients(Message.RecipientType.TO, iaToList); // 收件人 }// 抄送if (cs != null) {toListcs = getMailList(cs);InternetAddress[] iaToListcs = new InternetAddress().parse(toListcs);msg.setRecipients(, iaToListcs); // 抄送人 }// 密送if (ms != null) {toListms = getMailList(ms);InternetAddress[] iaToListms = new InternetAddress().parse(toListms);msg.setRecipients(Message.RecipientType.BCC, iaToListms); // 密送人 }msg.setSentDate(new Date()); // 发送日期msg.setSubject(subject); // 主题msg.setText(content); // 内容// 显示以html格式的文本内容messageBodyPart.setContent(content, "text/html;charset=gbk");multipart.addBodyPart(messageBodyPart);// 2.保存多个附件if (fileList != null) {addTach(fileList, multipart);}msg.setContent(multipart);// 邮件服务器进行验证Transport tran = session.getTransport("smtp");tran.connect("", "postmaster@","asiamedia");tran.sendMessage(msg, msg.getAllRecipients()); // 发送System.out.println("邮件发送成功");} catch (Exception e) {e.printStackTrace();}}// 添加多个附件public void addTach(String fileList[], Multipart multipart)throws MessagingException, UnsupportedEncodingException {for (int index = 0; index < fileList.length; index++) {MimeBodyPart mailArchieve = new MimeBodyPart();FileDataSource fds = new FileDataSource(fileList[index]);mailArchieve.setDataHandler(new DataHandler(fds));mailArchieve.setFileName(MimeUtility.encodeText(fds.getName(),"GBK", "B"));multipart.addBodyPart(mailArchieve);}}private String getMailList(String[] mailArray) {StringBuffer toList = new StringBuffer();int length = mailArray.length;if (mailArray != null && length < 2) {toList.append(mailArray[0]);} else {for (int i = 0; i < length; i++) {toList.append(mailArray[i]);if (i != (length - 1)) {toList.append(",");}}}return toList.toString();}public static void main(String args[]) {SendMail send = SendMail.getInstance();String to[] = { "zhutongyu@" };String cs[] = null;String ms[] = null;String subject = "测试一下";String content = "这是邮件内容,仅仅是测试,不需要回复";String formEmail = "zhutongyu@";String[] arrArchievList = new String[4];arrArchievList[0] = "c:\\052914033429140297.rar";arrArchievList[1] = "c:\\topSearch.html";arrArchievList[2] = "c:\\topSearch2.html";arrArchievList[3] = "c:\\logo_white.png";// 2.保存多个附件 send.send(to, cs, ms, subject, content, formEmail, arrArchievList);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。