2010-09-09 72 views
1

我已經設置了一個郵件發件人和Codeigniter電子郵件庫。郵件未發送到Gmail或Hotmail地址

一切正常,直到用戶指定一個gmail或hotmail地址作爲他們的地址。

$email = $this->input->post('[email protected]'); 

這僅僅是一個返回地址給我答覆。電子郵件本身是從Godaddy電子郵件帳戶發送的。

我想知道是否有人有與codeigniter電子郵件庫或Godaddy託管類似的問題,只需指定一個電子郵件返回地址導致郵件不能傳遞。

調試器在提交表單時不顯示錯誤。 如果我在發送電子郵件之前更改用戶電子郵件地址的值,例如。字符串替換gmail到xgmail郵件發送完美。

這裏是我的配置陣列

'protocol' => 'sendmail', 
'smtp_host' => 'smtpout.secureserver.net', 
'smtp_port' => 25, 
'smtp_user' => '[email protected]', 
'smtp_pass' => 'password', 
'mailtype' => 'text'); 

我已經嘗試了Gmail和GoDaddy的作爲smtp_hosts。兩次當

$email = $this->input->post('email'); 

是一個gmail或hotmail地址郵件永遠不會傳遞。

我梳理網絡的答案,但似乎無法找到任何類似的問題。

編輯:試圖使清晰。

+0

在什麼時候究竟將電子郵件發送失敗(和你怎麼知道) ?我知道codeigniter發送郵件的函數返回一個布爾值,是你要離開的嗎? – Matthew 2010-09-09 16:12:57

+0

Theres沒有通知失敗。當用戶指定Gmail或Hotmail地址作爲他們對地址的回覆時,就不會收到任何電子郵件 – chris 2010-09-09 16:22:05

+0

您是否嘗試過其他任何電子郵件提供商你的私人郵件服務器?你有權訪問處理髮送(或任何你使用的)的smtp服務器日誌嗎? – Residuum 2010-09-09 16:34:41

回答

0

它沒有得到發送或沒有得到交付?兩件不同的事情。

如果沒有收到,gmail/hotmail垃圾郵件過濾器可能會過濾掉您的電子郵件。你檢查了垃圾郵件收件箱嗎?

如果沒有發送,電子郵件可能不正確?什麼是返回SMTP回覆代碼?是5xx嗎?

我想評論,而不是「答案」,但顯然我還不能。 (抱歉)

+0

似乎只是沒有得到交付。沒有錯誤。奇怪的是,用戶輸入的電子郵件地址就是要回復的電子郵件地址。不是電子郵件發送的電子郵件地址。 – chris 2010-09-09 16:17:21

0

好的,您嘗試通過Gmail SMTP服務器發送電子郵件,但您已將協議設置錯誤。將協議設置爲smtp,並相應地設置主機名和端口。

+0

因爲它現在設置爲Godaddy電子郵件。 – chris 2010-09-09 16:57:02

+0

其混亂解釋。所有用戶的電子郵件地址都是標識他們自己的電子郵件的字段。該電子郵件從我的地址發送到我的地址,但由於某種原因,他們表明他們表示爲他們自己的電子郵件正在影響郵件傳遞...... – chris 2010-09-09 17:01:31

+0

也許Gmail的Gmail服務器和Godaddy的sendmail接受所有電子郵件,但不會中繼電子郵件到相應的主機。你可以設置一些其他郵件服務器作爲參考,任何服務器都可以,甚至可以將XAMPP設置爲郵件服務器。 – Residuum 2010-09-09 18:48:36

0

我有同樣的問題,經過大量的搜索,我終於找到了解決方案。這些配置設置適用於我:

$config['crlf'] = "\r\n"; 
$config['newline'] = "\r\n"; 
$config['protocol'] = 'smtp'; 
$config['smtp_host'] = 'relay-hosting.secureserver.net'; 
$config['smtp_port'] = '25'; 
$config['mailtype'] = 'html'; 

注意:沒有必要提供用戶名和密碼。確保您發送的電子郵件不包含太多鏈接。它將被GoDaddy的郵件服務器標記爲垃圾郵件。

如果仍然不調整這些設置,使用print_debugger看到從郵件服務器的確切回覆:

$this->email->send(); 
echo $this->email->print_debugger(); 
exit; 
相關問題