如何在不使用第三方课程的情况下使用PHP发送SMTP电子邮件


How to send SMTP emails with PHP without using a 3rd party class

我一直在使用PHPMailer发送SMTP电子邮件,也听说有人推荐其他各种第三方类。

我一直很惊讶,也有点失望,因为这个功能不是PHP原生的。

我还需要使用第三方课程吗?如果没有,怎么办?如果是的话,你知道为什么它不是本地的吗?

PHP确实有一个本地函数mail()来发送电子邮件,但效率不是很高。来自PHP官方文档-

值得注意的是,mail()函数不适合较大的循环中的大量电子邮件。此功能打开和关闭SMTP套接字,这不是很有效。

PHP官方文档建议使用PEAR::Mail库来提供高效的电子邮件支持。我宁愿使用PHPmailer或Swift mailer(http://swiftmailer.org/)尽管他们都有很好的支持,而且都有很强的文档记录。

如果你使用的是windows,除非你的电脑上安装了smtp服务器,否则php mail()功能将无法工作。windows会将电子邮件传递给电子邮件服务器,如果它可以通过你的防火墙访问,则会发送电子邮件。还要注意,文档中的mail()不是发送电子邮件的正确方式。为了发送电子邮件,必须以类似RFC文档的方式编写电子邮件消息。