一尘不染

Sendmail Wamp PHP

php

我花了整个上午在互联网上搜索此问题,以寻求有关此问题的解决方案。我已经在Windows
8.1上安装了wamp服务器,并且尝试通过sendmail(http://glob.com.au/sendmail/)和我的gmail帐户发送一些邮件

当我将sendmail配置为使用端口号465时,总是出现此错误:套接字错误#10060连接超时

如果尝试使用端口587,则会在错误日志中显示以下行:连接已正常关闭。但是没有发送电子邮件。

这是我的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扩展名。

我也尝试使用tunnel whitout任何成功

编辑27/01/2014

我在sendmail.ini上设置了smtp_port = 465和smtp_ssl = ssl。另外,我设置sendmail.exe必须作为Windows
XP
SP3程序运行。之后,当我在Windows控制台上运行sendmail.exe时,它将正确发送电子邮件。但是,当wamp尝试发送邮件时,我在sendmail的错误日志上收到此错误。:套接字错误#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>");
?>

阅读 308

收藏
2020-05-26

共1个答案

一尘不染

终于我找到了答案。

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

  1. 右键单击sendmail.exe
  2. 物产
  3. 兼容性
  4. 更改所有用户的配置
  5. 作为Windows XP SP 3执行
  6. 以管理员身份执行

并保存:D

废话两天:(

2020-05-26