BCB 6 中的 Indy 10 TIdSMTP 消息传递

Indy 10 TIdSMTP Messaging in BCB 6

在使用 Borland C++Builder 6 开发的应用程序中,我使用 TIdSMTPTIdMessage 发送电子邮件。由于配置中常用邮件服务器的外部应用程序问题,我通过我的Gmail帐户定义连接数据如下:

Correo->From->Address           = "******@******.org";
Correo->ReplyTo->EMailAddresses = "******@******.org";
Correo->From->Name              = "*******";
Correo->Organization            = "*******";

Enviar->Host     = "smtp.gmail.com";
Enviar->Password = "******";
Enviar->Port     = 465;
Enviar->Username = "******@gmail.com";
Enviar->UseTLS   = utUseImplicitTLS;

SSLIOHandler->Port               = 465;
SSLIOHandler->Host               = "smtp.gmail.com";
SSLIOHandler->Destination        = "smtp.gmail.com:" + IntToStr(SSLIOHandler->Port);
SSLIOHandler->SSLOptions->Method = sslvTLSv1_2;
SSLIOHandler->SSLOptions->Mode   = sslmUnassigned;

电子邮件发送没有任何问题,但我正在检查除了发送到我的 Gmail 地址的副本之外。我已验证 Gmail 地址出现在消息 headers 的 Return-Path 字段中。

我一直在寻找,至少在 BCB 6 的 Indy 10 中,我没有找到如何修改该字段。我怎样才能让副本只到达 TIdMessageReplyTo 字段中指定的地址?

TIdMessage.ReplyTo属性对Return-Pathheader没有影响。 ReplyTo 仅用于 Reply-To header,收件人用来回复发件人。 Reply-To header 根本没有被接收 SMTP 服务器使用。

Return-Path header 由接收 SMTP 服务器使用发送客户端的 SMTP MAIL FROM 命令中指定的地址生成。您可以在 TIdMessage.SenderTIdMessage.From 属性(按该顺序)中指定该地址,或者使用具有 AFrom 参数的其他重载 TIdSMTP.Send() 方法之一。