关于javamail邮件发送地址错误和判断是否发送成功的问题

使用javamail做发送邮件功能的一些问题,这里写出来给大家分享:

问题1;如何判断邮件是否发送成功

    使用try catch捕获发送邮件代码的,如果出现messageException异常,邮件发送失败

    一下代码是我封装过的复合邮件的发送功能

try {
    mailClient.sendMail(mailText, mailSubject, mailRecipientsAddress,
        mailCcPeopleAddressList);
} catch (MessagingException e) {

}

问题2:我们发送邮件的时候,有可能是一次性发多个人和抄送多个人,如果当中出现有一个邮件地址输入错误(不是邮箱),则邮件全部都不会发送,不必要担心部分地址的邮件发送了,错误地址引起的发送异常之后的地址都不会再发送邮件:例如:

以上的代码mailRecipientsAddress 是邮件收件人地址集合,mailCcPeopleAddressList是抄送人地址集合

收件人地址有:[email protected],[email protected],[email protected],hao123.com,[email protected]

如果收件地址:hao123.com是错误的,其他都是正确的邮箱地址,这样邮件都不会发送

问题3:抄送人地址出现错误,会影响收件人的邮件发送,同样是全部都不会发送

例如:

收件人地址有:[email protected],[email protected],[email protected],[email protected]

抄送人地址:hao123.com

如果抄送人的地址是错误的,也会导致不会向收件人发送邮件

问题4:收件的邮箱地址格式符合邮箱格式,但是地址是错误的

收件人地址有:[email protected],[email protected],[email protected],[email protected],[email protected]

例如:以上的收件邮箱地址,所有都符合邮箱的格式,但实际这些地址是否正确的,不知道,javamail认为,只有符合邮箱的格式,就会去发送邮件,至于对方是否可以收到,它不管。这也是现在做邮箱发送功能,需要自己想办法解决的

总结:判断邮件是否发送异常,使用try catch捕获,收件人或者抄送人中,有一个地址错误(即是不是邮箱地址),会导致所有的邮件都不会发送

猜你喜欢

转载自blog.csdn.net/q1035331653/article/details/80981963