php – sendmail.exe在发送邮件时打开

我实际上是使用sendmail的新手,但我已经阅读了很多关于这个,并且只重定向我使用PHPmailer,swiftmailer等…但是如果不了解基础知识就很难理解.所以我决定尝试简单,这就是我所拥有的.

我配置了我的php.ini:

[mail function]
smtp_port = 465
sendmail_path="C:\wamp\sendmail\sendmail.exe -t"
mail.add_x_header = On

我的sendmail.ini:

[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=
error_logfile=error.log
debug_logfile=debug.log
auth_username=mygmail@gmail.com
auth_password=mypassword
hostname=localhost

我有这个PHP代码:

$to      = 'mygmail@gmail.com';
$message = $_POST['message'];
$email = $_POST['email'];
$contact_num = $_POST['contact_number'];
$headers = 'From:'.'$email' . "\r\n" .'$contact' . "\r\n" .
'Reply-To: mygmail@gmail.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $message, $headers);

但是,当我点击提交按钮时,sendmail.exe出现,没有任何反应.当我检查error.log时,它说:

14/07/01 23:23:48 : Connection Closed Gracefully.
这部分是副本&粘贴帖子:Sendmail Wamp Php

问题是sendmail必须以管理员身份运行.这是帮助我处理任何人的解决方案.

>右键单击sendmail.exe
>属性
>兼容性
>更改所有用户的配置
>执行Windows XP SP 3
>以管理员身份执行

如果你使用Gmail,你需要创建新密码“你的
应用专用密码“

如果那还不行(我的回答)

通过以下任一方式确保服务器(或IDE)作为管理员运行:

1)右键单击程序(例如server,ide,命令提示符)并单击“Run as Administer”

2)或右击程序>性状>兼容性>勾选作为管理员执行

例如,如果您在构建的服务器中使用PHP,请以管理员身份运行命令提示符并正常启动服务器

C:\wamp\bin\php\php5.5.12\php.exe -S localhost:80 -t C:\Users\path\to\rootFolder

当然,更改文件路径以满足您的需求.

编辑:这可能是你进入https://bugs.php.net/bug.php?id=44994的错误

https://stackoverflow.com/questions/24514432/sendmail-exe-opens-on-sending-mail

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – sendmail.exe在发送邮件时打开