Sendmail Wamp Php
我花了一上午的时间在网上搜索,试图找到一个解决办法。 我已经在Windows 8.1上安装了wamp服务器,我正在尝试使用sendmail()和我的gmail帐户发送一些邮件 当我将sendmail配置为使用端口nº465时,总是会出现以下错误:套接字错误#10060连接超时 如果我尝试使用端口nº587,我会在错误日志中看到这一行:连接正常关闭。但没有发送电子邮件 这是我的sendmail.ini文件Sendmail Wamp Php,php,email,wamp,sendmail.exe,Php,Email,Wamp,Sendmail.exe,我花了一上午的时间在网上搜索,试图找到一个解决办法。 我已经在Windows 8.1上安装了wamp服务器,我正在尝试使用sendmail()和我的gmail帐户发送一些邮件 当我将sendmail配置为使用端口nº465时,总是会出现以下错误:套接字错误#10060连接超时 如果我尝试使用端口nº587,我会在错误日志中看到这一行:连接正常关闭。但没有发送电子邮件 这是我的sendmail.ini文件 [sendmail] smtp_server=smtp.gmail.com ;I tried
[sendmail]
smtp_server=smtp.gmail.com
;I tried both: 587, 465
smtp_port=587
; I tried: "blank, auto ssl, tls, none"
smtp_ssl=
error_logfile=error.log
debug_logfile=debug.log
auth_username=myaccoun@gmail.com
auth_password=mypass
hostname=localhost
这是php.ini文件
[mail function]
smtp_port = 465
sendmail_path="C:\wamp\sendmail\sendmail.exe -t"
mail.add_x_header = On
ssl_模块在apache上是活动的,php使用php_open_ssl和php_套接字扩展
我还尝试使用特技,但没有成功
2014年1月27日编辑
我在sendmail.ini上设置了smtp_port=465和smtp_ssl=ssl。此外,我设置sendmail.exe必须作为Windows XP SP3程序运行。之后,当我在windows控制台上运行sendmail.exe时,它会正确发送电子邮件。但是,当wamp尝试发送邮件时,我在sendmail的错误日志中发现此错误:Socket error#10060连接超时
这是我用来测试sendmail的代码:
<?php
$email = "mymail@gmail.com";
$to = "mymail@gmail.com";
$subject = "Hi!";
$body = "Hi,How are you?";
$headers = 'From: ' .$email . "\r\n".'Reply-To: ' . $email. "\r\n".'X-Mailer: PHP/' . phpversion();
if (mail($to, $subject, $body, $headers)) echo("<p>Email successfully sent</p>");
else echo("<p>Email delivery failed</p>");
?>
我终于找到了答案
问题是sendmail必须以管理员身份运行。这是在我的情况下帮助任何人的解决方案
在这种胡说八道中浪费了两天:(问题是sendmail必须以管理员身份运行。这是一种解决方案,可以帮助任何人解决我的问题
作为已接受答案的扩展: 如果您在PHP中运行send mail功能,可能会出现一个对话框,要求您以管理员身份运行“send mail”应用程序。点击“Yes”后,将显示一个命令提示符对话框,并且不会发生任何事情,您的页面将挂起,直到命令提示符关闭。mail功能甚至会返回“True”,但实际上没有发送任何消息 要解决此问题,请执行与接受答案相同的说明,并以管理员身份运行服务器(或IDE),方法如下: 1) 右键单击程序(例如服务器、ide、命令提示符),然后单击“以管理员身份运行” 2) 或者右键单击程序>属性>兼容性>勾选“以管理员身份执行” 例如,如果您使用PHP内置服务器,请以admin的身份运行命令提示符,并使用
C:\wamp\bin\php\php5.5.12\php.exe -S localhost:80 -t C:\Users\path\to\rootFolder
当然,更改文件路径以满足您的需要
希望这对别人有帮助!!!在这上面花了很多时间
在Windows10上,我发现唯一有效的方法是运行兼容性疑难解答
唯一看起来不对劲的是
hostname=localhost
试着注释一下。谢谢回复。我试过了,但没有解决问题(您可以尝试将这一行添加到“[mail function]”部分的php.ini
。mail.log=“c:\wamp\logs\php\u mail.log”
这将打开邮件日志,并可能帮助您识别问题。完成此操作后,再进行另一项测试,这是[c:\wamp\www\testSendMail.php:7]上的php\u mail.log:mail()的内容:致:myemail@gmail.com--标题:来自:myemail@gmail.com答复:myemail@gmail.comX-Mailer:PHP/5.4.16。sendmail错误日志只有:连接正常关闭。可能您没有在PHP中正确创建电子邮件。(这浪费了我1.5小时2天的时间:(
如果这不起作用,请为所有用户打开兼容模式。:P它浪费了2年:PReally?太简单了!哇!浪费了整整2天!我不明白第7步。你能详细解释一下吗?这节省了我的时间!感谢Sam使用旧的xampp安装,正如Yahya提到的,我将C:\xampp\xampp-control.exe设置为以管理员身份运行,并执行以下操作Rumppelstinsk提到的。我停止接收sendmail命令提示符弹出窗口和“套接字错误#10060连接超时”。我的sendmail Error.log.Thanksry中的错误也设置了/php/php.exe作为管理员运行。对我来说,这很有效。