【问题标题】:emails with bcc recipients only sent thorugh Indy don't allow to show recipients in Sent Mail密件抄送收件人仅通过印度发送的电子邮件不允许在已发送邮件中显示收件人
【发布时间】:2011-10-21 15:45:58
【问题描述】:

我发送密件抄送通知自动电子邮件。这些是由 Indy 生成的,也使用 SSL 处理程序,因为我使用 smtp.gmail.com。

当我转到已发送文件夹并打开一封电子邮件时,我看到 ccn 列表为空。如果我直接从 gmail.com 创建并发送包含密件抄送收件人的电子邮件,则不会发生这种情况。

因此,当我通过 smtp.gmail.com 从 Indy 发送时,我在发送的邮件中看不到密件抄送收件人,如果我从 gmail 网络邮件发送,我会看到它。

我缺少一些 Indy 设置吗?

例如,在this question 中,我看到默认情况下缺少另一个标准的东西(Message_ID)并且必须设置。我需要设置一些东西才能看到这个 bbc 信息吗?

【问题讨论】:

  • 什么是“ccn 通知”?什么是“ccn 收件人”?您指的是“CC”,即TIdMessage.CCList 属性吗?请出示您填写TIdMessage 组件的代码。
  • 我相信他的意思是密件抄送。在意大利语和可能的其他语言中,它可能是相似的。
  • 是的,抱歉让我更新问题,ccn = bcc

标签: delphi smtp indy indy10


【解决方案1】:

可能是您的本地 smtp 客户端(或者可能是 gmail smpt)在发送消息时正在剥离密件抄送信息。在 gmail 方面,直接从 gmail 发送邮件(可能不使用 smpt 进行内部通信,并且无论如何也不使用 Indy...)和通过 gmail SMTP 实现从 Indy 发送邮件可能是不同的。

您可以使用类似 Wireshark 的工具来跟踪通信,尽管加密会使它变得更加困难(您可以尝试通过不需要加密的 SMTP 服务器发送,或代理它),并查看 bcc 标头是否被剥离印地或由服务器。此外,Indy 附带完整的源代码...

【讨论】:

  • 您可以将 Indy 的 TIdLog... 组件之一附加到 TIdSMTP 以查看在 SSL 加密\解密之前/之后发送的原始数据。不过,我可以告诉你,Indy 不会在发送的电子邮件中包含 BCC 标头(没有 SMTP 客户端会这样做 - 这就是使它“盲目”的原因),但确实会将密件抄送收件人发送到 SMTP 服务器,因此它知道在哪里发送电子邮件。
  • 我想这就是解释 OP 会发生什么。 BCC 处理一直是电子邮件 RFC 的弱点,尽管 lastet 5322 在其“安全考虑”中指出了这一点,但也没有对此进行澄清。恕我直言的弱点是:1)存储在“已发送邮件”中的邮件可能需要整个密件抄送字段作为提醒 2)发送密件抄送邮件的人可能需要查看他们收到邮件的原因。过去使用不使用标准 SMTP 与服务器通信的电子邮件客户端的人可能想知道为什么它的行为与其他电子邮件服务器不同。我的观点是,今天的电子邮件应该被视为一个整体服务,而不是单独的协议
  • @ldsandon:感谢您的解释
  • @Remy Lebeau:现在我终于能够表达自己了(bcc/ccn)你对这个问题有什么建议吗?
  • 您对此无能为力。正如我之前所说,通过 SMTP 发送电子邮件,实际电子邮件中没有 BCC 标头,因此 Gmail 没有为该字段存储任何内容。使用 Gmail 的网络界面时,它知道原始密件抄送是什么。 Gmail 可以通过 SMTP 动态确定密件抄送,方法是将可用收件人与电子邮件的 TO 和 CC 标头匹配,但这是 Gmail 最后必须做的事情。你无法控制它。
猜你喜欢
  • 1970-01-01
  • 2019-01-01
  • 1970-01-01
  • 2011-02-01
  • 2011-07-24
  • 2015-12-19
  • 2014-05-23
  • 2016-06-05
  • 2017-10-01
相关资源
最近更新 更多