mail()函数的限制

时间:2011-07-25 13:55:58

标签: php email configuration

有人知道mail()函数中限制了多少封电子邮件?我只是想知道,因为我的localhost服务器允许我通过BCC发送一封电子邮件,并发送一封电子邮件作为TO。所以我的生产服务器基于这个限制,但我的问题是,如果允许的电子邮件数量有限,它是多少,或者这取决于服务器配置或PHP配置?我的服务器都是Apache。

我一直在寻找这个答案而没有成功。有人知道这个答案吗?

我所知道的是,除非我们有电子邮件列表服务,否则电子邮件每天限制为100封。但PHP是否能够发送这么多电子邮件?

同样知道最好将Perl扩展程序用于批量电子邮件,但最终我对批量电子邮件不感兴趣,只能通过内部网络向一定数量的员工发送足够的电子邮件。

例如,如果在系统中创建了订单,那么将与此订单联系的所有部门都应收到一封电子邮件。 ex programming@company.com,production @ company.com和shipping@company.com。

3 个答案:

答案 0 :(得分:3)

PHP本身完全能够每天发送数百万封电子邮件。脚本语言并不重要:使用PHP,Perl或Ruby应该没有太大区别,限制因素将是您的邮件服务器和网络吞吐量(不应该像你说的那样影响你你没有做大量的电子邮件)。直接回答您的问题 - 否 - PHP不会对您可以发送的电子邮件数量设置限制。此外 - 服务器与emais无关, - 所以这也不会限制你。

我可以马上告诉你:如果你只能添加1个地址和1个BCC地址 - 问题可能是你的MTA或电子邮件构造不正确,而不是PHP邮件()。

你的BCC是否正确?,应该是这样的:

Bcc: user@example.com, anotheruser@example.com\r\n

Bcc: User <user@example.com>, Another User <anotheruser@example.com>\r\n

AFAik,在Windows上你只能这样做:

Bcc: user@example.com, anotheruser@example.com

此外 - SMTP RFC(RFC 5321)并未对BCC字段长度施加任何限制,但某些ISP可能会有意限制它以防止发送垃圾邮件。

P.S&GT;对于大型邮件列表 - 请查看:PHPmailer,swiftmailer,Zend_Mail。

答案 1 :(得分:2)

PHP没有任何限制。如果您尝试在单个BCC标头中发送一封包含1000个地址的电子邮件,则在遇到PHP问题之前,您的邮件服务器会遇到问题。简单的替代方案是发送1000封电子邮件,每封电子邮件只有一个收件人。

答案 2 :(得分:1)

BCC和CC在标题中传递。 这意味着它们以文本形式传递,并且您的SMTP服务器会尝试充分利用它。

所以我认为唯一的限制是你的SMTP服务器