2013-07-30 64 views
1

我的script.php如何讓PHP郵件()工作?

<?php 
ini_set('display_errors', 1); 
error_reporting(E_ALL); 

$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

$res = mail($to, $subject, $message, $headers); 
var_dump($res); 
?> 

php.ini的要領

sendmail_path = /usr/sbin/sendmail -t -i 
mail.log = /home/myuser/phpmail.log 
  • 當我運行的script.php,它需要大約30秒它會顯示布爾(真)前。
  • /home/myuser/phpmail.log包含所有的頭進入
  • /usr/sbin目錄/ sendmail的是sendmail的
  • 的電子郵件不打通的正確路徑。測試了幾個不同地址,例如mailinator

我如何得到它的工作?我能做些什麼來調試?

+0

您的服務器是'domain.com'的可信發件人嗎? –

+0

我要檢查的第一件事情是郵件服務器日誌 – 2013-07-30 03:55:36

+0

您是否檢查過sendmail日誌? – Barmar

回答

0

這終於摸索

打開25端口iptables的本地主機,刪除「 i「from php.ini中的sendmail_path

sendmail_path = /usr/sbin/sendmail -t 
1

0)檢查sendmail的日誌文件

1)發送測試消息作爲同一系統用戶

#!/bin/sh 
/usr/sbin/sendmail -v -t -i <<END 
To: [email protected] 
Subject: the subject 
From: [email protected] 
Reply-To: [email protected] 

hello 
END 
echo SENDMAIL EXIT CODE: $? 
+0

senmail日誌中沒有錯誤。該腳本工作正常,沒有錯誤和電子郵件發送。爲什麼? – daker

+0

日誌中報告了什麼? – AnFi