我想编写一个可以在本地接收电子邮件的应用程序,并且可以通过成功和错误响应进行响应。
在阅读了一些有关SMTP如何工作的教程后,我尝试使用telnet向我本地运行的SMTP server发送电子邮件。
我无法理解的是第3步。为什么我需要通过身份验证才能向localhost发送电子邮件。我的意思是,如果我是雅虎用户,我必须向gmail用户发送电子邮件,我该如何通过gmail SMTP服务器进行身份验证?
答案 0 :(得分:0)
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 :(得分:0)
SMTP AUTH保护服务器免受未经授权的使用。例如,除非有人拥有帐户,否则Google不允许人们从Google的电子邮件服务器发送电子邮件。您可以通过使用AUTH命令进行身份验证来证明您拥有一个帐户(或以某种方式有权使用其服务器)。
也许不是免费的电子邮件服务的例子会更清楚。如果您尝试使用GoDaddy的电子邮件服务器发送电子邮件,但是您没有帐户,则它们将阻止您执行此操作。 GoDaddy向人们收取使用其服务的费用。
如果您经营一家名为mycompany.com的公司,并且经营自己的邮件服务器,则您不希望世界上每个垃圾邮件发送者都使用您的服务器向您的公司发送电子邮件。您需要发件人使用AUTH进行身份验证,以防止未经授权使用您的服务器。