strburnchang 2012-05-16
在给别人发邮件时,怎么知道对方是否收到?
类似126/163邮箱里面,发信时 勾选 “[ ] 已读回执”
对方收到邮件时,如果邮件客户端支持已读回执,就会弹出询问,比如163邮箱的提示语为
点击发送就会发送已读回执,否则不发送,完全邮接收者自行决定。
如果发送已读回执,发送方(或指定的邮箱、见下面的代码说明)就会收到一封邮件,
标题为:
大体内容如下:
该邮件带有附件 ATT00002.bin ,是个文本文件,内容如下:
Final-Recipient:rfc822;[email protected]
Original-Message-ID:<[email protected]>
Disposition:manual-action/MDN-sent-manually;displayed注意:由于已读回执的发送需要接收方的确认,所以用这种方式来确认邮件是否被对方收到是不可靠的!!!
类 org.apache.commons.mail.Email 及其子类
包括 MultiPartEmail, SimpleEmail, HtmlEmail, ImageHtmlEmail
设置发送已读回执的代码
// String receiptTo = "[email protected]"; // String receiptTo = "\"某某某\" <[email protected]>"; email.addHeader("Disposition-Notification-To", receiptTo);
其中 receiptTo 可以是发送者邮箱,也可以是别的邮箱。
Addsaheader(name,value)totheheadersMap.
Example:
X-Mailer:Sendmail,
X-Priority:1(highest)or2(high)3(normal)4(low)and5(lowest)
Disposition-Notification-To: [email protected]