2012-12-31 136 views
1

我搜索了stackoverflow和谷歌找到如何設置xampp,mercuryphp代碼與窗口服務器2008 r2發送郵件。xampp php發送郵件

而且隨着教程發現我可以用Mail::factorysmtp.gmail.com發送郵件,並且還可以通過使用水星文件 - >發送郵件)發郵件,水星註冊[email protected]_domain_name.com。所以我嘗試使用php代碼發送郵件。但是我的情況並非如此。

這裏是我的CONFIGS:

C:/xampp/apache/php.ini

sendmail_path = "\xampp\sendmail\sendmail.exe -t -i" 

sendmail.ini

smtp_server=my_domain_name.com 
smtp_port=25 
error_logfile=error.log 
debug_logfile=debug.log 
[email protected]_domain_name.com 
auth_password=my_password 
[email protected]_domain_name.com 
hostname=my_domain_name.com 

代碼PHP

$to = $email; 
$subject = "Hello"; 
$message = "How are you ?"; 
$from = "[email protected]_domain_name.com"; 
$headers = "From:" . $from; 
$result = mail($to,$subject,$message,$headers); 

if($result){ 
    echo "Mail Sent." . $result; 
} 
else{ 
    echo "Failure." . $result; 
} 

我檢查C:\xampp\sendmail\debug.log並得到錯誤

--- MESSAGE END --- 
12/12/31 06:46:04 ** Connecting to my_domain_name.com:25 
12/12/31 06:46:06 ** Disconnected. 
12/12/31 06:46:06 ** Disconnected. 
12/12/31 06:46:06 ** Disconnected. 
12/12/31 06:46:06 ** Socket Error # 10061<EOL>Connection refused. 

我在哪裏錯了?你能在這裏幫我嗎?

+1

你的''debug.log'插座錯誤[..]連接refused'表明沒有SMTP服務器實際上是在回答'my_domain_name.com:25'確保有一個smtp服務器啓動並運行,端口25沒有被防火牆阻止。 –

+0

@MichelFeldheim謝謝你的回答,我檢查我的窗口防火牆,SMTP端口25允許入站規則,但仍然無法工作。我如何知道smtp服務器啓動並運行? – whitebox

回答

3

大部分時間都是服務器ip的問題。 因爲大多數提供商不允許來自動態ips,從沒有神spf記錄的服務器的流量...

解決方案是,建立一個gmail帳戶,並通過gmail或房屋內部交換服務器轉發所有流量。 XAMPP Sendmail using Gmail account

+0

謝謝你的回答。我可以用我的Gmail帳戶發送郵件,但不想使用Gmail帳戶發送郵件。我想爲我的域創建新帳戶,例如[email protected]_domain_name.com發送郵件。 – whitebox

+0

你在哪裏託管你的域名?你是不是已經有了電子郵件提供商?創建一個帳戶,併爲你使用smtp登錄數據sendmail.ini – GreenRover

+0

謝謝你的回答。這是否意味着我需要爲我的域名購買電子郵件?我在Mercury爲我的域創建了一封電子郵件(例如:[email protected]_domain_name.com),並使用Mercury(文件 - >發送郵件消息)從這個電子郵件地址發送郵件到某些雅虎郵件。那麼爲什麼我需要爲我的域名購買電子郵件?請解釋我,我很感激。 – whitebox