关于node.js:SMTP AUTH有什么需要?

What is the need of SMTP AUTH?

我想编写一个可以在本地接收电子邮件并可以成功响应和错误响应的应用程序。

在阅读了有关SMTP工作原理的一些教程之后,我试图使用telnet将电子邮件发送到本地运行的SMTP服务器。

  • 连接到SMTP服务器
  • HELO / EHLO命令
  • 认证...
  • 从命令发送邮件
  • RCPT命令
  • DATA命令
  • 写一些数据
  • 相当
  • 我无法理解的是第3步。为什么我需要通过身份验证才能将电子邮件发送到localhost。我的意思是,如果我是yahoo用户,并且必须向gmail用户发送电子邮件,我如何才能通过gmail SMTP服务器进行身份验证?


    SMTP AUTH保护服务器免遭未经授权的使用。例如,除非有人拥有帐户,否则Google不允许人们从Google的电子邮件服务器发送电子邮件。您可以通过使用AUTH命令进行身份验证来证明您拥有一个帐户(或以某种方式被授权使用其服务器)。

    也许不是免费的电子邮件服务的例子会更清楚。如果您尝试使用GoDaddy的电子邮件服务器发送电子邮件,但是您没有帐户,则它们将阻止您执行此操作。 GoDaddy向人们收取使用其服务的费用。

    如果您经营一家名为mycompany.com的公司,并且经营自己的邮件服务器,则您不希望世界上每个垃圾邮件发送者都使用该服务器向您的公司发送电子邮件。您需要发件人使用AUTH进行身份验证,以防止未经授权使用您的服务器。


    SMTP身份验证用于验证发送的电子邮件。 SMTP AUTH直接通过我们的SMTP服务器对您进行身份验证。这对您作为用户是透明的。

    SMTP是您的电子邮件程序用于通过我们的电子邮件服务器发送电子邮件的协议(语言)。 AUTH是该协议的一部分,用于验证您是我们的用户之一。

    SMTP身份验证允许客户端向服务器显示该客户端有权通过该服务器中继电子邮件。

    在大多数情况下,您无需身份验证即可发送到该域的本地电子邮件地址

    (i.e. send from [email protected] to [email protected])

    因为服务器不需要将您的电子邮件中继到外部服务器。每当收件人不是本地域

    时,都需要身份验证

    (i.e. send from [email protected] to [email protected], provided that
    company.com and example.com use different e-mail servers).

    如果您想了解更多有关此的内容,请在这里找到一些参考,其中的解释非常清楚。

  • http://www.afterlogic.com/mailbee-net/docs/smtp_authentication.html
  • http://www.softhome.net/help/faq/smtp-auth.html
  • 希望这对您有帮助。