在 PHP 中,只要我可以使用非常简单mail()
的原生函数发送电子邮件,
- 使用的充分理由是
smtp
什么?
注意:拜托,我没有足够的邮件系统知识。所以也许我需要简要解释一下why
使用这两个系统的主要区别。
在 PHP 中,只要我可以使用非常简单mail()
的原生函数发送电子邮件,
smtp
什么?注意:拜托,我没有足够的邮件系统知识。所以也许我需要简要解释一下why
使用这两个系统的主要区别。
mail()在后台使用 SMTP 。它不会为您递送邮件。当您调用mail()
PHP 时,只是将电子邮件交给本地系统的 SMTP 系统(sendmail、postfix、exim 等)。一旦交接完成,PHP 就退出了电子邮件游戏。由 SMTP 系统实际启动传递过程。
话虽如此,mail() 对于快速而肮脏的简单电子邮件很有用。但是任何中等复杂的东西(多个收件人、混合文本/html 电子邮件、附件等)都变得非常乏味/复杂,只需使用 mail(),但在使用更好的 smtp 库时非常简单,如 PHPMailer 或 Swiftmailer。
PHP手册的片段:
值得注意的是,mail() 函数不适合循环处理大量电子邮件。此函数为每封电子邮件打开和关闭一个 SMTP 套接字,效率不高。
如需发送大量电子邮件,请参阅 » PEAR::Mail 和 » PEAR::Mail_Queue 包。
再加上 Marc B 关于复杂性的说法(尤其是当您谈到多部分时),我想您已经得到了解释。