2

自从我升级到 Indy10 后,我注意到Msg.ReplyTo[0].Address收到的 TIdMessage(s) 上的 ReplyTo 字段(我的期望是,Msg.ReplyTo.Count如果没有回复标题,应该为零。这里发生了什么?这是一个错误吗?设计改变?还有什么?如何判断邮件是否有单独的回复地址,或者我是否应该从“发件人”字段回复地址?让它回复返回地址似乎给了我自己的电子邮件的一个屠杀版本,不是很有用。

我现有的逻辑(不适用于没有回复地址的消息)如下所示:

if Msg.ReplyTo.Count>0 then
  FReplyTo := Msg.ReplyTo[0].Address
else
  FReplyTo := Msg.From.Address;
4

1 回答 1

4

解析电子邮件时,首先TIdMessage.ReplyTo查看Reply-To标题,如果为空/缺失,则查看Return-Path标题。如果您想知道其Reply-To本身是否为空白/缺失,则必须TIdMessage.Headers.Values['Reply-To']手动查看。

多想一想,并对它的工作方式Reply-To和实际工作方式进行一些研究,从房产Return-Path中移除可能是有意义的,所以我现在已经做出了改变。Return-PathTIdMessage.ReplyTo

于 2013-06-12T20:37:34.237 回答