java mail 抄送多用户,JavaMail 发送邮件,收件人为多人,抄送多人。其中包含收件人邮箱错误时的处理...

这篇博客介绍了如何在使用JavaMail发送邮件时,如果遇到收件人或抄送人的邮箱格式错误,通过捕获异常、剔除错误邮箱并重新发送,以确保其他正确邮箱能收到邮件的方法。详细步骤包括设置SMTP服务器、创建session、邮件对象,以及异常处理机制。
摘要由CSDN通过智能技术生成

1.给客户做一个发邮件的功能。收件人和抄送人可能为单个人,也可能为多个人。但是当收件人或抄送人中某一个邮箱的格式错误时,整个邮件发送就会出错停止发送。但我还需要给那些其余的人发邮件,该怎么办?

2.解决思路,当收件人邮箱错误时,可以catch到异常,并从异常信息提取错误的邮箱,再把错误的邮箱从,收件人或抄送人中剔除,再次发送即可。

伪代码:

try{

发送邮件

}catch(Exception e){

if(判断是否为邮件发送错误异常){

获取错误的邮件,并从收件人或抄送人中剔除

再次发送邮件

}

}

3.完整代码

@Override

public void sendEmail(String main, String cc, IWorkItem weekly) throws Exception {

List sendTo1 = new ArrayList(Arrays.asList(main.split(",")));

List copyTo1 = new ArrayList(Arrays.asList(cc.split(",")));

String mode = "client";//test / client

try {

// 创建一个配置文件并保存

Properties properties = new Properties();

if(mode.equals("test")) {

properties.setProperty("mail.host", "smtp.qq.com");

}else {

properties.setProperty("mail.host", "10.0.3.28");

}

properties.setProperty("mail.transport.protocol", "smtp");

properties.setProperty("mail.smtp.auth", "true");

if(mode.equals("test")) {

//QQ存在一个特性设置SSL加密

MailSSLSocketFactory sf = new MailSSLSocketFactory();

sf.setTrustAllHosts(true); properties.put("mail.smtp.ssl.enable", "true");

properties.put("mail.smtp.ssl.socketFactory", sf);

}

// 创建一个session对象

Session session = Session.getDefaultInstance(properties, new Authenticator() {

@Override

protected PasswordAuthentication getPasswordAuthentication() {

if(mode.equals("test")) {

return new PasswordAuthentication("56

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值