2011-05-05 97 views
2

我想送从本地主机的电子邮件,但我得到的错误:使用PHP邮件功能发送邮件 - 本地邮件服务器?

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

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

在此先感谢

保罗

+0

你在什么操作系统? – 2011-05-05 20:12:38

+0

windows vista ... – Pjn2020 2011-05-05 20:14:58

+0

所以是的,你需要在Windows上设置邮件服务器 – Neal 2011-05-05 20:20:03

回答

9

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

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

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

它可能看起来像垃圾,但它一直在为我工作。

+0

谢谢,这将对测试非常有用 Thanks every1 – Pjn2020 2011-05-05 20:29:35

0

是的,确实如此,如果你想将邮件发送到外部电子邮件地址(而不是本地系统的用户,这是烦人的困难)。

大多数托管公司(例如GoDaddy)都为你设置了这个设置,所以PHP的mail()函数在你不需要做任何事情的情况下工作。 (a)将sendmail配置为使用备用SMTP网关(我经常使用Gmail)或(b)完整的sendmail替代方案(Zend Mail看上去很有前景)()如果您在自己的系统上配置它, 。)

+0

我也尝试使用我的主机smtp服务器,但得到这个错误: SMTP服务器响应:501语法无效HELO参数 任何想法? – Pjn2020 2011-05-05 20:25:18

0

如果您使用的是Linux,通常没有必要成立AA邮件服务器,

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

0

如果您对发送邮件感兴趣,可以通过SMTP协议使用任何SMTP服务器。这里有一个tutorial来设置PHP使用远程SMTP服务器。

0

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

您可以使用pear mail function连接到像gmail这样的外部smtp providor来为您发送邮件。更多信息herehere

0

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

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

相关问题