我一直在發展與毫安解決方案堆棧(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