我使用以下代码向我的Gmail帐户发送电子邮件:
$to = 'My gmail address';
$subject = 'subject here';
$message = 'Test PHP email using mail()';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if( !mail($to, $subject, $message, $headers) ) echo "Error with sendmail mail()";
else echo 'Message has been sent';
运行该脚本会返回“已发送消息”,但我从未收到该电子邮件(已检查垃圾邮件)。
我的操作系统是Fedora版本20(Heisenbug),phpinfo函数返回以下内容:
PHP Version: 5.5.23
System: Linux localhost.localdomain 3.18.9-100.fc20.x86_64
Configuration File: /etc/php.ini
Apache Version: Apache/2.4.10 (Fedora) PHP/5.5.23
Hostname:Port: localhost.localdomain:0
DOCUMENT_ROOT: /var/www/html
以下值对于Local和&主:
sendmail_from: no value
sendmail_path: /usr/sbin/sendmail -t -i
SMTP: localhost
smtp_port: 25
我已经安装了sendmail和amp;的sendmail-CF。这些是sendmail.mc文件中的DAEMON_OPTIONS / LOCAL_DOMAIN设置:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
LOCAL_DOMAIN(`localhost.localdomain')dnl
请帮忙。
答案 0 :(得分:1)
你的诊断有点缺乏。检查您的MTA日志和mailq以了解接下来发生的事情。
Sendmail是一个非常酷的工具,但我不推荐使用经验有限的人/在这样的上下文中。通常情况下我会建议使用nullmailer,但这不会进行本地传递(上次我检查过)因此我建议你考虑使用postfix作为MTA。