JavaMail如何获取邮件是否都成功发送(多个收件人)?求大神帮忙

Cathy313 2018-09-04 03:12:39
Transport.send(message);

用JavaMail发送邮件时,Transport.send()没有返回值,当收件人邮箱不存在(比如:误写为8888888@qqc.com)时,不抛异常,那么如何判断邮件是否发送成功或失败?据说可以通过状态码获取(如何获取状态码?),Transport提供有使用监听接口的方法

transport.addTransportListener(new TransportListener() {

@Override
public void messageDelivered(TransportEvent e) {
// TODO Auto-generated method stub

}

@Override
public void messageNotDelivered(TransportEvent e) {
// TODO Auto-generated method stub

}

@Override
public void messagePartiallyDelivered(TransportEvent e) {
// TODO Auto-generated method stub

}});


有人用这个做过吗?我参考https://blog.csdn.net/runyon1982/article/details/49018873 试了一下没有成功,线程好像堵塞了(状态码一直是初始状态),我对线程这块也不了解,有大神能帮忙提供一些思路或方法吗?
...全文
402 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2020-04-23
  • 打赏
  • 举报
回复
没有办法,java mail 只是把信件发给smtp服务器,smtp是否发送成功是异步过程
qq_23021503 2020-04-22
  • 打赏
  • 举报
回复
我也遇到的了同样的问题,也是失败。 经了解,邮件服务器是否能把邮件转发到对方的服务器上是个未知数。据说这个消息是无确认的异步消息机制。

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧