当用户在我的网站上提交表单时,我只需要发送一封非常简单的电子邮件。 (我已经考虑过使用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上看过很多关于这个主题的帖子,但是在这些问题中我们找不到任何解决方案。也许我错过了其他帖子中的解决方案,所以如果这是一个案例,你能否给我链接到其他帖子?