2

Indy10 にアップグレードして以来、Msg.ReplyTo[0].Addressヘッダーへの明示的な返信が存在しない場合、受信した TIdMessage の ReplyTo フィールド ( ) が Return-path ヘッダーからのアドレスで埋められているように見えることに気付きました。返信先ヘッダーがない場合、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 に答える