PHP mail()和SMTP之间的用法是什么原因?

时间:2012-10-12 05:32:33

标签: php email smtp sendmail

  

可能重复:
  Why shouldn’t I use PHP’s mail() function?

在PHP中,只要我可以使用非常简单的mail()本机函数发送电子邮件,

  • 使用smtp的理由是什么?

注意:请,我对邮件系统知之甚少。因此,我可能需要使用这两个系统对why中的主要差异进行简要说明。

2 个答案:

答案 0 :(得分:1)

mail() IS 在后台使用SMTP。它不会为您发送邮件。当您致电mail()时,PHP只是将电子邮件发送到您本地系统的SMTP系统(sendmail,postfix,exim等等)。一旦切换完成,PHP就不在电子邮件游戏中了。由SMTP系统实际启动交付流程。

话虽这么说,mail()对快速和脏的简单电子邮件很有用。但是任何中等复杂的(多个收件人,混合文本/ HTML电子邮件,附件等等)都变得非常繁琐/复杂,只有mail(),但使用更好的smtp库(如PHPMailer或Swiftmailer)时非常简单。

答案 1 :(得分:1)

来自PHP手册的

Snippet:

  

值得注意的是mail()函数不适合更大的   循环中的电子邮件量。此功能可打开和关闭SMTP   每个电子邮件的套接字,效率不高。

     

要发送大量电子邮件,请参阅»PEAR :: Mail和»   PEAR :: Mail_Queue包。

再加上Marc B所说的复杂性(特别是当你来到多部分时),我想你已经得到了解释。