Delphi 回复印地10号的地址?

Delphi 回复印地10号的地址?,delphi,indy10,Delphi,Indy10,自从我升级到Indy10以来,我注意到,如果不存在显式的reply to标头,则接收到的TIdMessages上的ReplyTo字段Msg.ReplyTo[0]。Address似乎被返回路径标头中的地址填充。我的期望是,如果没有回复标题,Msg.ReplyTo.Count应该为零。这是怎么回事?这是虫子吗?设计变更?还有别的吗?如何判断邮件是否有单独的回复地址,或者是否应该从“发件人”字段回复地址?让它回复我的回信地址似乎给了我自己的电子邮件一个残酷的版本,不是很有用 我的现有逻辑不适用于没有回

自从我升级到Indy10以来,我注意到,如果不存在显式的reply to标头,则接收到的TIdMessages上的ReplyTo字段Msg.ReplyTo[0]。Address似乎被返回路径标头中的地址填充。我的期望是,如果没有回复标题,Msg.ReplyTo.Count应该为零。这是怎么回事?这是虫子吗?设计变更?还有别的吗?如何判断邮件是否有单独的回复地址,或者是否应该从“发件人”字段回复地址?让它回复我的回信地址似乎给了我自己的电子邮件一个残酷的版本,不是很有用

我的现有逻辑不适用于没有回复地址的邮件,如下所示:

if Msg.ReplyTo.Count>0 then
  FReplyTo := Msg.ReplyTo[0].Address
else
  FReplyTo := Msg.From.Address;
解析电子邮件时,TIdMessage.ReplyTo首先查看回复标题,如果为空/缺失,则查看返回路径标题。如果您想知道Reply to本身是否为空/缺失,您必须手动查看TIdMessage.Headers.Values['Reply-to']

仔细考虑一下,并对回复和返回路径的实际工作方式进行一些研究,从TIdMessage.ReplyTo属性中删除返回路径可能是有意义的,因此我现在做了更改。

解析电子邮件时,TIdMessage.ReplyTo首先查看回复标题,如果为空/缺少,则查看返回路径头。如果您想知道Reply to本身是否为空/缺失,您必须手动查看TIdMessage.Headers.Values['Reply-to']


仔细考虑一下,并对回复和返回路径的实际工作方式进行一些研究,从TIdMessage.ReplyTo属性中删除返回路径可能是有意义的,所以我现在已经做出了改变。

让它回复回邮地址是什么意思,似乎给了我自己的电子邮件一个残杀的版本?标题看起来像这样……这本身并不是意外的……但不是我希望看到的回复地址,而是给我的电子邮件,而不是来自我。返回路径:你说让它回复回邮地址是什么意思?似乎给了我自己电子邮件的一个残杀版本?标题看起来像这样…这本身并不是意外的…但不是我期望看到的电子邮件的回复地址,而不是来自我。返回路径:谢谢,更新后的Indy代码可以更好地回复发件人:谢谢,更新后的Indy代码可以更好地回复发件人: