2015-10-28 64 views
0

您好我已經嘗試使用codeigniter電子郵件庫的示例郵件功能,它在發送的電子郵件上返回成功,但在延遲16小時後收到我的Gmail收件箱中返回成功。我不知道爲什麼它發生在我的特定服務器中。當我從其他服務器嘗試時,它工作正常。在16小時後收到的郵件中,顯示爲16小時前已收到,但實際未收到。下面的附件解釋了你和谷歌應用程序準備的收到的標題信息的圖像。如果有人面對,請指導我。我也很快修復它。在Codeigniter中使用郵件協議長時間後收到延遲

注意:如果這個問題與本論壇無關指導我在哪裏問。

enter image description here

+0

它可能有問題,你的Web服務器上,請聯繫您的主機服務供應商。 – 151291

+0

@ Niranjan N Raju我的網絡服務器在英國,當它運行英國的晚上時間。它通過cron運行良好。但是當我在瀏覽器中嘗試(早上是英國時),它不起作用。所以我很困惑它是否是Web服務器的問題或其他。 – Udhayavanan

+0

發佈您的示例代碼。 – 151291

回答

0

您可以嘗試使用谷歌的SMTP服務器,而不是你的服務器

$config = Array(
    'protocol' => 'smtp', 
    'smtp_host' => 'ssl://smtp.googlemail.com', 
    'smtp_port' => 465, 
    'smtp_user' => 'xxx', //use an email address eg: [email protected] 
    'smtp_pass' => 'xxx', //use the password for your email address 
    'mailtype' => 'html', 
    'charset' => 'iso-8859-1' 
); 
$this->load->library('email', $config); 
$this->email->set_newline("\r\n"); 

$this->email->from($sender_email, $sender_name); 
$this->email->to($data['email']); 
$this->email->subject($subject); 
$this->email->message($email_body); 

$result = $this->email->send(); 

希望它可以幫助

+0

雅我試着用樣品郵件只。好的,讓我試着再回來。 – Udhayavanan

+0

示例郵件我試圖以同樣的方式表達你說的也返回成功,但不是在發送或收件箱收件箱。它會在16小時後發送和收件箱,分別發送前16小時和16小時前收到。這是因爲服務器的過載或時區問題。 TIA。 – Udhayavanan

+0

時區可能會導致此問題。不確定。但是你提到了發件人的發件箱。如果您使用gmail通過codeigniter發送任何電子郵件,它將不會出現在您發送的郵箱中。如果電子郵件未能發送,則失敗通知可能會發送到發件人的收件箱中。無論如何,你可以嘗試定義這樣的時區: date_default_timezone_set(「Asia/Singapore」); //替換爲你想要的城市 –

0
  $touser=$email; // email to be sent 
      $subjectAdmin= "xxx"; 
      $headersAdmin = "From: [email protected]\r\n"; 
      $headersAdmin .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
      $messageuser ='msg here'; 
      $emailSenduser = mail($touser,$subjectAdmin,$messageuser,$headersAdmin); 
+0

感謝您的時間。我有時區檢查。 – Udhayavanan