Apache Commons Email 怎样设置接收方发送已读回执?

strburnchang 2012-05-16

Apache Commons Email 怎样设置接收方发送已读回执?

在给别人发邮件时,怎么知道对方是否收到?

类似126/163邮箱里面,发信时 勾选 “[ ] 已读回执

对方收到邮件时,如果邮件客户端支持已读回执,就会弹出询问,比如163邮箱的提示语为

"某某某" <xxx@126.com>要求发送“已读回执”,是否发送?

点击发送就会发送已读回执,否则不发送,完全邮接收者自行决定。

如果发送已读回执,发送方(或指定的邮箱、见下面的代码说明)就会收到一封邮件,

标题为:

已读: 新计划,请查阅

大体内容如下:

这是邮件收条, 2012-05-16 09:20 发给 某某某 <xxx@163.com>, 主题为 新计划,请查阅 的信件已被接收此收条只表明收件人的计算机上曾显示过此邮件
 

该邮件带有附件 ATT00002.bin ,是个文本文件,内容如下:

Reporting-UA: wmsvr

Final-Recipient:rfc822;xxx@163.com

Original-Message-ID:<78e2e281.1d121.137533b5114.Coremail.xxx@126.com>

Disposition:manual-action/MDN-sent-manually;displayed
 

注意:由于已读回执的发送需要接收方的确认,所以用这种方式来确认邮件是否被对方收到是不可靠的!!!

类 org.apache.commons.mail.Email 及其子类

包括    MultiPartEmail, SimpleEmail, HtmlEmail, ImageHtmlEmail

设置发送已读回执的代码

// String receiptTo = "xxx@domain.com";
// String receiptTo = "\"某某某\" <xxx@126.com>";
email.addHeader("Disposition-Notification-To", receiptTo);

其中 receiptTo 可以是发送者邮箱,也可以是别的邮箱。

javadoc 写道
public void addHeader(String name, String value)

Addsaheader(name,value)totheheadersMap.

Example:

X-Mailer:Sendmail,

X-Priority:1(highest)or2(high)3(normal)4(low)and5(lowest)

Disposition-Notification-To: user@domain.net
 

相关推荐

李高峰 / 0评论 2020-05-25
Junzizhiai / 0评论 2013-05-13