1

我正在尝试将 SMTP 与我用 C++ 编写的应用程序之一集成。我的目标是能够直接向与电子邮件地址关联的 SMTP 服务器发送电子邮件,而无需进行身份验证。换句话说,我希望我的应用程序充当 SMTP 服务器并与其他 SMTP 服务器通信。例如,从 yahoo.com 发送到 gmail.com 的电子邮件。

4

2 回答 2

1

要回答您的问题,您需要对收件人电子邮件地址的域部分(即“user@gmail.com”的“gmail.com”)执行 DNS 查找,询问其 MX 记录。这将为您提供该域的 SMTP 主机列表。然后,您可以按优先级顺序遍历该列表,尝试连接到每个主机,直到成功,然后您可以进行正常的SMTP 对话并向其发送HELO/ EHLOMAIL FROM、等命令RCPT TO,并DATA传递电子邮件。

于 2012-08-29T00:33:17.320 回答
0

你所说的是设置一个开放的邮件中继 smtp 服务器。虽然这些曾经是互联网上的规范,但由于大量垃圾邮件发送者滥用它们,它们通常不受欢迎。

如果您在私有子网内设置开放中继,并且只有子网内的人可以通过它发送电子邮件,那么这仍然是一种可接受的做法。但是,如果您允许从外部访问,这是进入互联网电子邮件黑名单的好方法。

欲了解更多信息:http ://en.wikipedia.org/wiki/Open_mail_relay

于 2012-08-28T21:13:43.337 回答