Localhost Sendmail不起作用

时间:2014-06-29 11:10:32

标签: php email web smtp sendmail.exe

我是PHP的初学者,我正在尝试从我的localhost发送邮件,但它不起作用。正在寻找一些解决方案但似乎没有任何帮助。有人请指教。

这是我的sendmail.ini文件(保存在C:\ xampp \ sendmail \ sendmail.exe中)

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=my-id@gmail.com
auth_password=my-password
force_sender=my-id@gmail.com

这是我在SMTP部分上的一小部分php.ini:

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = my-id.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

这是我的PHP文件:

<?php 
$to = "test@gmail.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

if (mail($to, $subject, $body)) {
    echo("<p>Message successfully sent!</p>");
} else {
    echo("<p>Message delivery failed...</p>");
}
?>

我总是收到“无论我尝试什么,邮件传递失败。请帮助

1 个答案:

答案 0 :(得分:0)

请务必在php.ini中注释掉您未使用的邮件功能:

[mail function]
;SMTP = localhost
;smtp_port = 25
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
;sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"

只有在运行自己的smtp服务器时才需要SMTP和smtp_port。第二个sendmail_path运行一个程序,将所有邮件写入mailoutput文件夹。