【问题标题】:What is the need of SMTP AUTH?SMTP AUTH 需要什么?
【发布时间】:2016-09-09 09:49:24
【问题描述】:

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

阅读了一些关于 SMTP 工作原理的教程后,我尝试使用 telnet 向本地运行的 SMTP server 发送电子邮件。

  1. 连接到 SMTP 服务器
  2. HELO/EHLO 命令
  3. 授权 ...
  4. 来自命令的邮件
  5. RCPT 到命令
  6. 数据命令
  7. 写一些数据
  8. 相当

我无法理解的是第 3 步。为什么我需要通过身份验证才能向 localhost 发送电子邮件。我的意思是,如果我是 yahoo 用户并且我必须向 gmail 用户发送电子邮件,我如何才能通过 gmail SMTP 服务器的身份验证?

【问题讨论】:

    标签: node.js smtp


    【解决方案1】:

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

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

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

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

    (即从 bob@domain.com 发送到 alice@domain.com)

    因为服务器不需要将您的电子邮件中继到外部服务器。只要收件人不是本地域,就需要进行身份验证

    (即从 joe@company.com 发送到 tom@example.com,前提是 company.com 和 example.com 使用不同的电子邮件服务器)。

    如果您想了解更多关于此的信息,请在此处找到一些参考资料,其中解释得非常清楚。

    1. http://www.afterlogic.com/mailbee-net/docs/smtp_authentication.html
    2. http://www.softhome.net/help/faq/smtp-auth.html

    希望这对您有所帮助。

    【讨论】:

    • 所以你的意思是我正在做的是“通过我的本地 SMTP 服务器发送电子邮件”而不是“向我的本地 SMTP 服务器发送电子邮件”。?因此,它要求我在进行任何活动之前进行身份验证。
    • 默认情况下,它在发送电子邮件时执行相同的过程,在进行任何活动之前应该进行身份验证。
    【解决方案2】:

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

    也许电子邮件服务不是免费的例子会更清楚。如果您尝试使用 GoDaddy 的电子邮件服务器发送电子邮件,但您没有帐户,他们会阻止您这样做。 GoDaddy 向人们收费以使用他们的服务。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 2018-12-28
      • 2021-05-17
      • 2019-06-09
      • 2010-12-08
      相关资源
      最近更新 更多