我尝试使用php mail()函数将电子邮件从本地主机发送到我的yahoo电子邮件帐户,返回消息说我成功发送了电子邮件,但没有收到任何电子邮件。我一直在阅读并尝试许多所谓的“简单方法”来发送电子邮件,但结果令人失望,它们都不适合我。以下是代码,配置和错误消息。有人可以启发我吗?谢谢。
PHP代码
<?php $to = 'myemail@yahoo.com'; $subject = 'Fake sendmail test'; $message = 'If we can read this, it means that our fake Sendmail setup works!'; $headers = 'From: myemail@egmail.com' . "\r\n" . 'Reply-To: myemail@gmail.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); if(mail($to, $subject, $message, $headers)) { echo 'Email sent successfully!'; } else { die('Failure: Email was not sent!'); } ?>
php.ini的配置(我正在使用Gmail邮件服务器)
SMTP = smtp.gmail.com smtp_port = 587 sendmail_from = myemail@gmail.com sendmail_path =“ \” C:\ xampp \ sendmail \ sendmail.exe \“ -t”
sendmail.ini的配置
smtp_server = smtp.gmail.com smtp_port = 587 smtp_ssl = tls error_logfile = error.log debug_logfile = debug.log auth_username=myemail@gmail.com auth_password = mypassword force_sender=myemail@gmail.com
sendmail错误日志中带有端口587的错误消息
13/10/02 13:36:41:必须首先发出STARTTLS命令。k4sm129639pbd.11-gsmtp
这是给我答案的链接:
[安装]“ 用于Windows的伪sendmail ”。如果您不使用XAMPP,则可以在这里下载:http : //glob.com.au/sendmail/sendmail.zip [Modify] the php.ini file to use it (commented out the other lines): [mail function] ; For Win32 only. ; SMTP = smtp.gmail.com ; smtp_port = 25 ; For Win32 only. ; sendmail_from = <e-mail username>@gmail.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i”). sendmail_path = “C:\xampp\sendmail\sendmail.exe -t”
[安装]“ 用于Windows的伪sendmail ”。如果您不使用XAMPP,则可以在这里下载:http : //glob.com.au/sendmail/sendmail.zip
[Modify] the php.ini file to use it (commented out the other lines): [mail function] ; For Win32 only. ; SMTP = smtp.gmail.com ; smtp_port = 25 ; For Win32 only. ; sendmail_from = <e-mail username>@gmail.com ; For Unix only. You may supply arguments as well (default: "sendmail -t
-i”). sendmail_path = “C:\xampp\sendmail\sendmail.exe -t”
(忽略“仅Unix”位,因为我们实际上正在使用sendmail)
然后,您必须在安装sendmail的目录中配置“ sendmail.ini”文件: [sendmail] smtp_server=smtp.gmail.com smtp_port=25 error_logfile=error.log debug_logfile=debug.log auth_username=<username> auth_password=<password> force_sender=<e-mail username>@gmail.com
然后,您必须在安装sendmail的目录中配置“ sendmail.ini”文件:
[sendmail] smtp_server=smtp.gmail.com smtp_port=25 error_logfile=error.log debug_logfile=debug.log auth_username=<username> auth_password=<password> force_sender=<e-mail username>@gmail.com