当用户在我的网站上提交表单时,我只需要发送一封非常简单的电子邮件。(我已经研究过使用 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
4 sendmail_path = /usr/sbin/ssmtp -t
)我重新启动了 apache2:“sudo service apache2 restart”
注意:我在 SO 上看到了很多关于这个主题的其他帖子,但在这些问题中还没有真正找到任何解决方案。也许我错过了这些其他帖子中的解决方案,所以如果是这样的话,你能给我那个其他帖子的链接吗?