是否可以在不使用SMTP服务器的情况下从PHP发送电子邮件

时间:2010-06-23 19:18:07

标签: php smtp email

我需要使用PHP向数千名订阅者发送简报。 我正在使用的托管服务允许我使用他们的SMTP服务器发送300邮件/小时的顶部。

他们告诉我,如果我在没有身份验证或使用SMTP服务器的情况下使用PHP发送电子邮件,我就不会遇到任何限制问题。

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

4 个答案:

答案 0 :(得分:2)

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

您有几种不同的选择:

  • 如果他们没有时间敏感性,请使用他们的SMTP服务器并限制自己;
  • 或者,如果它们对时间敏感,则对您自己的外部SMTP服务器进行身份验证可能是有意义的;
  • 最后,我建议看一下像MailChimp或iContact这样的系统。他们会让您发送给您列表中的任何人,并为您处理退款和取消订阅。更好的是,他们的服务器已被ISP等列入白名单,因此您 不太可能将您的邮件标记为垃圾邮件。

我的0.02

答案 1 :(得分:0)

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

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

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

我会说只使用普通旧邮件()并试一试。

答案 2 :(得分:0)

托管公司可能会为您提供可以使用的SMTP服务器,并且该服务器可能具有此限制。您可以通过使用其他SMTP服务器(他们未提供的服务器)来避免此限制。

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

http://email.about.com/od/emailprogrammingtips/qt/Configure_PHP_to_Use_a_Remote_SMTP_Server_for_Sending_Mail.htm

答案 3 :(得分:0)

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