未经身份验证的SMTP服务器到服务器通信



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

要回答您的问题,您需要对收件人电子邮件地址的域部分执行DNS查找(即"gmail.com"用于";user@gmail.com")询问其MX记录。这将为您提供该域的SMTP主机的列表。然后,您可以按优先级顺序循环浏览该列表,尝试连接到每个主机,直到成功为止,然后您可以进行正常的SMTP会话,并向其发送HELO/EHLOMAIL FROMRCPT TODATA等命令来发送电子邮件。

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

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

有关更多信息:http://en.wikipedia.org/wiki/Open_mail_relay

最新更新