【发布时间】:2021-04-22 08:52:19
【问题描述】:
在使用 Borland C++Builder 6 开发的应用程序中,我使用 TIdSMTP 和 TIdMessage 发送电子邮件。由于配置中使用普通邮件服务器的外部应用程序出现问题,我通过我的 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 地址出现在邮件标题中的 Return-Path 字段中。
我一直在寻找,至少在 BCB 6 的 Indy 10 中,我还没有找到如何修改该字段。如何获取副本以仅到达TIdMessage 的ReplyTo 字段中指示的地址?
【问题讨论】:
-
附带说明,您根本不需要设置 IOHandler 的
Host、Port或Destination属性。这些由Connect()为您处理。此外,您应该使用SSLOptions->SSLVersions而不是SSLOptions->Method,并且SSLOptions->Mode应该是sslmClient而不是sslmUnassigned。
标签: c++builder indy10 c++builder-6