PHPMailer身份验证与无身份验证


PHPMailer Authentication vs No authenication

当我们通过PHPMailer发送邮件时,我们是否设置$mail->SMTPAuth=true似乎没有区别;或$mail->SMTPAuth=false;

我们在发送的电子邮件的标题中只发现了一个字母的差异:在"收到"标题行使用esmtpa(Exim 4.82),而不是esmtp(Exim 4.8 2)。

使用身份验证有什么好处?这封信能帮助他们避免垃圾邮件或其他有益的事情吗?

当SMTP服务器需要您登录以发送邮件时,需要进行身份验证。通常,当您通过ISP发送电子邮件时,您可以在没有身份验证的情况下发送电子邮件。他们已经通过您连接的事实知道是您,所以不需要额外的身份验证。

PHPMailer可以使用多种方式发送实际邮件。其中之一是PHP的mail()函数,它可能已经在服务器配置中进行了配置。因此,您的SMTP服务器可能确实需要身份验证,但这些凭据已经配置好了。

无论哪种方式,似乎都不需要配置身份验证来发送邮件。因此,除了标头中的单个字母外,此属性没有任何作用。

标头中的额外a似乎确实指的是使用了身份验证这一事实。这在本RFC中有描述。不过,这个头很容易被欺骗,它甚至在RFC中说,你不应该把这个头用作垃圾邮件检测方法。尽管如此,我认为有这个头球不会有什么坏处,以防万一。那一个字节不会花你太多钱。