我正在尝试使用侦听器获取已发送消息的 Message-Id。我正在
使用代码示例中给出的具体方法实现 javax.mail.event.TransportListener。
它侦听在调用 void javax.mail.Transport.sendMessage(.....) 时生成的 javax.mail.event.TransportEvent。
令我惊讶的是,当我实际发送邮件时,我没有调用任何方法..??? 它什么时候真正被调用?调用 sendMessage(..) 后是否需要添加任何等待时间?
它不是实时发生的吗?
@Override
public void messageDelivered(TransportEvent e)
{
try {
System.out.println(e.getMessage().getHeader("Message-Id")[0]);
} catch (MessagingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
@Override
public void messageNotDelivered(TransportEvent e)
{
try {
System.out.println(e.getMessage().getHeader("Message-Id")[0]);
} catch (MessagingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
@Override
public void messagePartiallyDelivered(TransportEvent e)
{
try {
System.out.println(e.getMessage().getHeader("Message-Id")[0]);
} catch (MessagingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}