1

当用户在我的网站上提交表单时,我只需要发送一封非常简单的电子邮件。(我已经研究过使用 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_path4 sendmail_path = /usr/sbin/ssmtp -t
)我重新启动了 apache2:“sudo service apache2 restart”

注意:我在 SO 上看到了很多关于这个主题的其他帖子,但在这些问题中还没有真正找到任何解决方案。也许我错过了这些其他帖子中的解决方案,所以如果是这样的话,你能给我那个其他帖子的链接吗?

4

0 回答 0