我一直在发展与毫安解决方案堆栈(V2.0.5),其中包括一个Web应用程序:PHP mail()函数已停止工作
- 的Mac OS X(v10.7.3)
- 阿帕奇v2.2.21
- 的MySQL v5.5.9
- PHP v5.3.6
我一直在使用PHP mail()
功能激活URL发送给新注册用户账户:
$body = "Thank you for registering. To active your account, please click on this link:\n\n";
$body .= BASE_URL . 'activate.php?x=' . urlencode($e) . "&y=$a" . "&z=$bs";
mail($trimmed['email'], 'Registration Confirmation', $body, 'From: [email protected]');
然而,似乎过了一段时间......这个刚刚停止,现在我没有收到任何这些这些消息对我的测试用户帐户。
我php.ini
文件是:/Applications/MAMP/bin/php/php5.3.6/conf/php.ini
使用默认设置:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
;sendmail_from = [email protected]
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =
它曾经很好地工作,直到最近并且现在失败了。我没有故意改变任何我知道可能导致停止的设置。
经过多次谷歌搜索和阅读后,似乎必须设置SMTP服务器才能将本地主机的电子邮件发送到另一个电子邮件地址,以便它可以正常工作,但我非常肯定它曾经工作过,我收到了电子邮件......说实话!
我希望有人能帮忙。非常感谢。
已更新 - 已解决: 基本上排序它。开始尝试使用PEAR和Mail插件,但发现它很可怕。结束使用外部SMTP服务器和PHPMailer,好多了。
有用的信息: http://www.askapache.com/php/phpfreaks-eric-rosebrocks-phpmailer-tutorial.html https://orangsetya.wordpress.com/2007/09/12/send-mail-using-smtp-authentication-phpmailer-script
那么你必须使用一些服务器作为中继(即本地主机在你的情况)发送你的电子邮件。也许该服务器因垃圾邮件而被列入黑名单? – 2012-04-09 23:08:49
你检查了你的垃圾邮件吗?我在ec2实例上创建了这个问题 - 创建SPF DNS记录解决了问题 – 2012-04-09 23:15:23
当您说中继服务器时,您是否说我的Mac上的某个SMTP服务器充当通过本地主机发送这些电子邮件的方式?现在已经在目标邮件服务器上被列入黑名单? – leokennedy 2012-04-09 23:48:15