Sendmail Wamp Php
我花了整整一个上午在互联网上寻找这个解决scheme。 我已经在Windows 8.1上安装了wamp服务器,我试图用sendmail发送一些邮件( http://glob.com.au/sendmail/ )和我的Gmail帐户
当我configurationsendmail使用端口nº465我总是得到这个错误:套接字错误#10060Connection超时
如果我尝试使用端口nº587我错误日志上得到此行:连接closures优雅。 但没有电子邮件发送。
这是我的sendmail.ini文件
[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_module在apache上是活动的,php使用php_open_ssl和php_socket扩展名。
此外,我试图使用stunnel没有任何成功
编辑27/01/2014
我在sendmail.ini上设置了smtp_port = 465和smtp_ssl = ssl。 另外,我设置sendmail.exe必须作为Windows XP SP3程序运行。 这样做后,当我在Windows控制台上运行sendmail.exe,它正确地发送电子邮件。 但是,当wamp试图发送邮件时,我在sendmail的错误日志上得到这个错误:Socket Error#10060Connection timed out。
这是我用来testingsendmail的代码:
<?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>"); ?>
最后我find了答案。
问题是sendmail必须以pipe理员身份运行。 这是帮助我解决问题的解决scheme。
- 右键点击sendmail.exe
- 属性
- 兼容性
- 更改所有用户的configuration
- 作为Windows XP SP 3执行
- 作为pipe理员执行
并保存:D
在这废话2天失去:(
作为接受答案的延伸:
如果您在PHP中运行发送邮件function,可能会出现一个对话框,要求您以pipe理员身份运行“发送邮件”应用程序。 当“是”时,它会显示一个命令提示符对话框,并且什么都不会发生,并且您的页面将挂起,直到命令提示符closures。 邮件function甚至会返回“真”,但实际上没有消息发送。
要解决此问题,请按照接受的答案执行相同的操作,并以pipe理员身份运行服务器(或IDE):
1)右键单击程序(例如服务器,ide,命令提示符),然后单击“以pipe理员身份运行”
2)或右键单击程序>属性>兼容性>以pipe理员身份执行
例如,如果您在内置的服务器上使用PHP,请以admin身份运行命令提示符,并按正常方式启动服务器
C:\wamp\bin\php\php5.5.12\php.exe -S localhost:80 -t C:\Users\path\to\rootFolder
当然,改变文件path以适合您的需求。
希望这可以帮助别人! 花了这么多年!
问题是sendmail必须以pipe理员身份运行。 这是帮助我解决问题的解决scheme。
- 右键点击sendmail.exe
- 属性
- 兼容性
- 更改所有用户的configuration
- 作为Windows XP SP 3执行
- 作为pipe理员执行
- 如果你使用Gmail,你需要创build新的密码“你的应用程序特定的密码”
在Windows 10上,我发现唯一可行的方法是运行Compatibility Troubleshooter。
- 右键点击sendmail.exe
- 点击“属性”
- select兼容性选项卡。
- 点击“运行兼容性疑难解答”。
- 让Windows自动修复它。