调用the mail function时会产生错误
警告:mail():无法连接到邮件服务器 “localhost”端口25,验证您的“SMTP”和 php.ini中的“smtp_port”设置或使用ini_set()
我正在使用Wampserver 2,我认为错误是因为Wamp没有附带邮件服务器。然后我添加了以下代码(as per an answer here)
ini_set("SMTP","aspmx.l.google.com");
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$headers .= "From: test@gmail.com" . "\r\n";
mail("email@domain.com","test subject","test body",$headers);
并产生以下错误
无法连接到“aspmx.l.google.com”的邮件服务器 端口25,验证您的“SMTP”和“smtp_port” 在php.ini中设置或使用ini_set()
在位于C:\ wamp \ bin \ php \ php5.4.3的php.ini文件中,它包含以下设置
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = you@yourdomain
如何在本地运行文件时发送电子邮件?
在我工作的地方,确实没有明智的公司ISP用于邮件的信息(实际上公司是它自己的ISP)。有没有其他方法可以在没有找到正确端口的情况下进行测试,如果有的话甚至存在?
答案 0 :(得分:3)
安装smtp4dev,你就完成了
答案 1 :(得分:0)
检查您是否可以将端口25用于电子邮件。有些提供商不允许这样做。例如:http://customer.comcast.com/help-and-support/internet/email-client-programs-with-xfinity-email/。找出建议您设置和更改php.ini的内容。如果不起作用则更新。
验证: Google的一些变体“你的互联网服务提供商是否允许在端口25上发送电子邮件”或“[你的互联网服务提供商]阻止端口25上的电子邮件”这应该会给你一些以前遇到此问题的人的反馈。
如果结果没有结果,则有一些命令行方法可以验证端口25是否已打开:https://kb.mediatemple.net/questions/888/Checking+your+outgoing+mail+server+%28Is+Port+25+blocked%3F%29
如果您的提供商已阻止端口25,则可能是他们提供了另一个要使用的端口。跟踪它并在php.ini文件中切换smtp_port,看看是否能解决问题。
答案 2 :(得分:0)
查看本教程3分钟教程,了解如何在localhost中设置工作邮件服务器; https://www.youtube.com/watch?v=FMPfcVd6OOk