使用PHP邮件功能发送邮件 - 本地邮件服务器?

时间:2011-05-05 20:12:07

标签: php email

我正在尝试从localhost发送电子邮件但收到错误:

无法连接到“localhost”端口25的邮件服务器,验证php.ini中的“SMTP”和“smtp_port”设置或使用ini_set()。

这是否意味着我需要设置本地邮件服务器?如果是这样,哪一个最简单。

提前致谢

6 个答案:

答案 0 :(得分:9)

这是我使用的,但它仅用于测试目的:

http://www.toolheap.com/test-mail-server-tool/

几乎没有配置,在与其他几个邮件服务器发生故障后,我开箱即用(在Win7上)。它不发送实际邮件,而是将其存储为.eml文件。这对于测试邮件列表非常有用,例如,您不想发送2000封电子邮件,但希望从您的应用程序中获得真实的结果。

它可能看起来像垃圾,但它对我来说很有用。

答案 1 :(得分:0)

是的,确实如此,如果您想将邮件发送到外部电子邮件地址(而不是系统本地的用户,那就非常困难了。)

大多数托管公司(例如GoDaddy)都为您提供此设置,因此PHP的mail()函数无需您执行任何操作即可运行。

如果您在自己的系统上配置它,您可能需要考虑(a)配置sendmail以使用备用SMTP网关(我经常使用Gmail)或(b)sendmail的完整替代方案({{3}看起来很有希望。)

答案 2 :(得分:0)

如果您使用的是Linux,则通常无需设置邮件服务器,

如果您使用的是Windows,则需要设置邮件服务器

答案 3 :(得分:0)

如果您只想发送邮件,可以通过SMTP协议使用任何SMTP服务器。这是设置PHP以使用远程SMTP服务器的tutorial

答案 4 :(得分:0)

是的,您需要一个邮件服务器才能发送邮件,但即使您这样做,您也无法发送到本地网络之外的地址,因为来自您计算机的邮件将被所有收件人阻止出于垃圾邮件的原因。

您可以使用pear mail function连接到外部smtp提供程序(如gmail)来为您发送邮件。更多信息herehere

答案 5 :(得分:0)

我认为

smtp4dev 是在Windows上捕获本地SMTP流量的最佳工具。

它会在localhost端口25上侦听SMTP,并在每次发布新邮件时弹出通知(它实际上不会将邮件转发给其收件人)。然后,您可以在收藏邮件代理中打开邮件或将其保存到文件中。