我使用GoDaddy主机,并且目前使用PHP的mail()
函数发送网站上的表单邮件。GoDaddy每天有1000封SMTP中继限制,但他们发誓我的PHP脚本不会超过这个限制。
由于
mail()
不需要SMTP信息,它是自动使用GoDaddy的(或者你所使用的任何其他主机)吗?如果我的网站每天预计要发送超过1000封邮件(独立的实例,而非循环内),我应该使用不同的方法,还是
mail()
是正确的选择?
我使用GoDaddy主机,并且目前使用PHP的mail()
函数发送网站上的表单邮件。GoDaddy每天有1000封SMTP中继限制,但他们发誓我的PHP脚本不会超过这个限制。
由于mail()
不需要SMTP信息,它是自动使用GoDaddy的(或者你所使用的任何其他主机)吗?
如果我的网站每天预计要发送超过1000封邮件(独立的实例,而非循环内),我应该使用不同的方法,还是mail()
是正确的选择?
Php默认使用本地邮件服务器。但是您可以在php.ini配置文件中指定此选项。
如果您需要发送更多电子邮件,您可能需要寻找不同的邮件服务器或选择其他托管方式。
mail()函数会使用php.ini中定义的设置。Windows服务器需要一个实际的SMTP服务器,而*nix服务器将使用安装在服务器上的任何MTA(如果有的话)。
正如其他人所提到的,如果您想要使用替代SMTP服务器,请使用类似SwiftMailer这样的替代库。此外,您需要确保SMTP服务器快速。我曾经看过使用像Gmail这样的SMTP服务器时出现的减速情况。
即使是托管在GoDaddy上的专用服务器,GoDaddy也使用智能SMTP中继。限制基于通过Smart中继发送的电子邮件数量。
如果您有合法的理由需要发送更多电子邮件,并且您可以验证您的站点不是垃圾邮件,并且所有电子邮件都是选择加入的,则支持将为您增加限制,如果您给他们估计需要发送的电子邮件数量。
因为这是一篇旧文章,所以我认为更新答案会很有帮助 -
现在比以前简单多了 :-) 在PHP 4中,PEAR邮件包通常已经安装好了,并且这个非常简单的教程向你展示了你需要添加到php文件中的几行代码。 http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm
大多数托管公司都列出了你所需的SMTP设置。我使用JustHost,他们在https://my.justhost.com/cgi/help/26上列出了他们的设置 (在传出邮件服务器下)
mail()
并改用SwiftMailer库。它是一个功能丰富的组件(支持身份验证、附件、加密等),我们已经在一些地方使用它。而且它也是免费和开源的。