email - 使用具有多个抄送的 Indy 发送电子邮件。如果不正确则没有人收到邮件

标签 email delphi indy indy10

我目前为我的公司设置了一个小工具,用于向特定用户组发送信息邮件。 但是,如果一个或多个电子邮件地址不正确(缺少字母等),我会收到以下错误,并且电子邮件根本不会发送:

EIdSMTPReplyError

未采取请求的操作:邮箱不可用 无效的 DNS MX 或 A/AAAA 资源记录

我这样设置电子邮件:

  • 将第一封电子邮件添加为主要收件人
  • 将所有其他人添加到 cclist

有没有办法设置电子邮件,以便至少其他收件人能够收到电子邮件?

一些信息:

  • 德尔福7
  • 印地 10

提前致谢<3

最佳答案

TIdSMTP 有一个 OnFailedRecipient 事件:

type
  TIdSMTPFailedRecipient = procedure(Sender: TObject; const AAddress, ACode, AText: String;
    var VContinue: Boolean) of object;

AAddress 是电子邮件地址,ACodeAText 包含错误详细信息。

如果 VContinue 设置为 True(指定 OnFailedRecipient 时的默认值),则会跳过失败的电子邮件并尝试下一个收件人。

如果出现以下情况,则会引发 EIdSMTPReplyError 异常:

  • OnFailedRecipient 当收件人失败时不会分配。

  • VContinue 设置为 False。

  • 无论OnFailedRecipient如何,所有收件人都会失败。

关于email - 使用具有多个抄送的 Indy 发送电子邮件。如果不正确则没有人收到邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36911090/

相关文章:

Javamail ISO-8859-1 格式

delphi - 可以生成 PDF/A 兼容文件的报告生成器

php - 我可以从 Delphi 的 Indy 客户端发送 TCP RST 吗?

delphi - Indy 10 Http 服务器示例

delphi - 如何在 TIdHTTPServer 中接收包含外来字符的查询字符串

html - 所有邮件的交叉 HTML

email - SMTP 'NOOP' 命令的用途是什么?

email - 将系统日期插入 ssmtp 电子邮件的主题字段

delphi - 将数据保存到 Firemonkey 中的 iniFile

delphi - 最有用的 Delphi TStringGrid (Grid) 替代品推荐