为什么PHP mail()不发送电子邮件?

时间:2015-11-22 22:25:16

标签: php apache email ssmtp

当用户在我的网站上提交表单时,我只需要发送一封非常简单的电子邮件。 (我已经考虑过使用PHPMailer,但实际上没有发送电子邮件。我已经放弃了它,因为它确实比我需要的更复杂。)在我的表单处理中.php文件,我最后有这个代码:

if (!mail($_POST['email'], "Registration - Your New Password", "Your password is: ".$pass)) 
echo "didn't send email";
else echo "email sent";

我收到一条消息说"已发送电子邮件,"但是当我输入我的个人电子邮件地址时,我从未收到任何电子邮件。有谁知道为什么这个代码似乎被正确解释,但它没有发送电子邮件?

以下是我在测试上述mail()之前采取的一些步骤:
1)我安装了ssmtp
2)我配置了/etc/ssmtp/ssmtp.conf,看起来像这样:

    root=postmaster
    root=myemail@gmail.com
    mailhub=smtp.gmail.com:587
    UseSTARTTLS=YES
    AuthUser=myemail
    AuthPass=mypass

    hostname=mywebsite.com

    FromLineOverride=NO

3)在/etc/php5/apache2/php.ini/etc/php5/cli/php.ini中,我将从sendmail_path开始的行设置为sendmail_path = /usr/sbin/ssmtp -t
4)我重新启动了apache2:" sudo service apache2 restart"

注意:我在SO上看过很多关于这个主题的帖子,但是在这些问题中我们找不到任何解决方案。也许我错过了其他帖子中的解决方案,所以如果这是一个案例,你能否给我链接到其他帖子?

0 个答案:

没有答案