可以不使用SMTP服务器从PHP发送电子邮件吗

可以不使用SMTP服务器从PHP发送电子邮件吗,php,smtp,email,Php,Smtp,Email,我需要发送一个新闻稿与PHP的数千名订户。 我使用的托管服务允许我用他们的SMTP服务器每小时最多发送300封邮件 他们告诉我,如果我用PHP发送电子邮件而不进行身份验证或使用SMTP服务器,我就不会有任何限制问题 这可能吗?PHP中的mail()函数不是使用SMTP发送邮件吗?在unix/linux上,mail()几乎总是配置为只使用本地sendmail功能 从技术上讲,您仍然在使用SMTP服务器,但不是在您的ISP上。Sendmail直接与负责为每个收件人接收邮件的SMTP服务器通信 虽然您

我需要发送一个新闻稿与PHP的数千名订户。 我使用的托管服务允许我用他们的SMTP服务器每小时最多发送300封邮件

他们告诉我,如果我用PHP发送电子邮件而不进行身份验证或使用SMTP服务器,我就不会有任何限制问题

这可能吗?PHP中的mail()函数不是使用SMTP发送邮件吗?

在unix/linux上,mail()几乎总是配置为只使用本地sendmail功能

从技术上讲,您仍然在使用SMTP服务器,但不是在您的ISP上。Sendmail直接与负责为每个收件人接收邮件的SMTP服务器通信

虽然您的主机有可能让sendmail通过其SMTP服务器路由所有邮件,但可能性不大


我想说的是,只要使用普通的旧邮件()并试一试。

托管公司可能会为您提供一个可以使用的SMTP服务器,而该服务器可能有限制。您可以通过使用另一个SMTP服务器(它们不提供的服务器)来避免此限制

传统上,所有电子邮件都使用SMTP“发送”。您需要将计算机配置为使用外部服务器

mail()函数将使用php.ini告诉它使用的任何东西,可以是sendmail,也可以是外部SMTP服务器

您有几个不同的选择:

  • 如果他们对时间不敏感,使用他们的SMTP服务器并限制自己
  • 或者,如果它们是时间敏感的,则可以针对您自己的外部SMTP服务器进行身份验证
  • 最后,我建议看看像MailChimp或iContact这样的系统。他们会让你发送给名单上的任何人,并为你处理退订和退订。更妙的是,他们的服务器已经被ISP等列入了白名单,所以你不太可能将你的邮件标记为垃圾邮件

My 0.02

有关从代码成功发送电子邮件的一般性讨论,请参阅。我注意到其中一条评论提到,作为使用ISP SMTP服务器的付费替代方案。我从来没有使用过它,所以我不知道它是否值这个价。

请注意:许多垃圾邮件过滤器会检查原始SMTP服务器是否也处理发件人地址域的传入邮件。您的发件人地址应始终与您发送邮件的服务器上的域相匹配。
mail()
的问题在于它的效率不高(请参阅
mail()
上的手册页)。您可能需要实现某种队列,以避免数千名收件人过载。但是-试一试。只要您跟踪哪些操作返回了
true
(以避免重复),您就可以了。