白昙 2018-04-11 05:19 采纳率: 0%
浏览 967
已结题

java mail 发送邮件问题

java mail 发送邮件 多个收件人和抄送人,存在一个收件人的邮箱账号不存在(并不是格式不合法),到时发送失败
String[] address = new String[2];
address[0] = "1198819501@qq.com";
address[1] = "444woaini12345678904@qq.com";

InternetAddress[] tos= new InternetAddress[address.length];
for (int i = 0; i < address.length; i++) {
if(!address[i].trim().matches("^\w+([-+.]\w+)*@\w+([-.]\w+)+$")){
System.exit(-1);
}
tos[i] = new InternetAddress(address[i].trim());
}

String[] address1= new String[2];
address1[0] = "jiamei.zhang@tiaokefu.com";
address1[1] = "jiamei1123345663344.zhang@yit.com";
InternetAddress[] cc= new InternetAddress[address.length];
for (int i = 0; i < address1.length; i++) {
if(!address1[i].trim().matches("^\w+([-+.]\w+)*@\w+([-.]\w+)+$")){
System.exit(-1);
}
cc[i] = new InternetAddress(address1[i].trim());
}

msg.setRecipients(Message.RecipientType.TO, tos);
msg.setRecipients(Message.RecipientType.CC, cc);

这是网上找到的解决方案,我想请教一下原理。

  • 写回答

2条回答 默认 最新

  • _1_1_7_ 2018-04-11 06:03
    关注
     "^\w+([-+.]\w+)*@\w+([-.]\w+)+$"
    

    你是指这个正则表达式的原理吗 ?这只是 中判断邮件地址是否符合email的命名规范而已。像必须以英文字母开始,中间必须有 @符号等等 。

    评论

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题