我在某些wifi网络上的php脚本中收到以下错误:
消息:mail()[function.mail]:无法连接到“localhost”端口25的邮件服务器,验证php.ini中的“SMTP”和“smtp_port”设置或使用ini_set()
我完全理解错误,并意识到这取决于我所在的互联网连接以及他们的SMTP /端口25设置。
问题是我在世界各地背包旅行,从来不知道我将会是什么联系,所以理想情况下,如果端口25上没有smtp,我只想让我的代码绕过它并继续 - 邮件没有错误() - 我不在乎它是否不发送电子邮件 - 我只是想加载我的页面!
到目前为止,我提出的最佳解决方案是使用这样的PHP代码并在需要时取消注释:
//if (1==1) {
if (mail($to, $subject, $emailConfirmationHTML, $headers)) {
还有什么我可以放在php中 - 或者apache设置来帮助我吗?
答案 0 :(得分:0)
我认为简单的解决方案是将语句包装在try catch块中,处理异常并继续。
理想情况下,如果您希望能够从任何地方发送邮件,您应该四处寻找邮件中继,谷歌搜索“MAIL RELAY”,您将看到许多可以使用的服务。
答案 1 :(得分:0)
您可以将smtp服务器配置为侦听系统所具有的任何IP地址。 在大多数情况下,sendmail是您的选择。
sendmail中的这个配置将帮助您:
O DaemonPortOptions = Port = smtp,Addr = 0.0.0.0,Name = MTA
修改/etc/mail/sendmail.cf(或其中的任何位置)并将Addr in SMTP守护程序选项设置为0.0.0.0
此致 MAGMAG