白昙 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 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀