2016-04-12 197 views
0

我想重置密碼郵件給客戶端用戶。我正在使用從控制器調用的幫助函數來發送電子郵件。發送電子郵件使用godaddy smtp中繼和PHPMailer codeigniter

function submit_email($to,$subject,$message) 
{ 
    $CI = get_instance(); 
    $CI->load->library('My_PHPMailer'); 

    $mail = new PHPMailer(); 
    $mail->Host  = "relay-hosting.secureserver.net"; 
    $mail->Port  = 465; 
    $mail->SetFrom('[email protected]', 'Saurabh Pradhan'); 
    $mail->AddReplyTo("[email protected]","Saurabh Pradhan"); 
    $mail->Subject = $subject; 
    $mail->Body  = $message; 
    $mail->AltBody = "Plain text message"; 
    $destino = $to; 
    $mail->AddAddress($destino, "John Doe"); 
    if(!$mail->Send()) { 
     $data["message"] = "Error: " . $mail->ErrorInfo; 
    } else { 
     $data["message"] = "Message sent correctly!"; 
    } 
var_dump($data); 
} 

場景1(工作):如果地址是我的個人gmail.id例如。 [email protected]比電子郵件傳遞正常。

array(1) { ["message"]=> string(23) "Message sent correctly!" } 

方案2(不工作):如果解決的是客戶端域[email protected]比還我得到了成功的消息,但郵件未送達。

這裏重要的一點是,客戶端域名託管在godaddy上,但是對於他使用谷歌應用工作的電子郵件。我已經查看了godaddy帳戶上的MX條目,並且他們正確地指向了谷歌。

優先|郵件服務器

1 | ASPMX.L.GOOGLE.COM。

+0

是你的郵件到這個'pradhansp @ gmail.com'? –

+0

是的。此外,客戶使用谷歌應用程序的郵件。 – Saurabh

+0

您是否在電子郵件客戶端中檢查過「垃圾郵件」,「批量」和類似文件夾? – Tpojka

回答

1

經過很多嘗試不同的解決方案後,我終於設法通過回答下列問題來解決問題。由於@Vicm

can't send email to addresses at my own domain

使用以下步驟,將MX記錄添加到的cPanel:

回車進入的cPanel

  1. 去的cPanel的郵件部分
  2. 搜索MX條目維護,有時 以上沒有文字圖標。
  3. 選擇相關域
  4. 更改電子郵件路由到遠程郵件交換器。
  5. 使用適當的優先級值添加所有的谷歌MX記錄,因爲它們在您的域 配置中。您可以查看 這裏的記錄和優先級 https://support.google.com/a/answer/174125
  6. 仔細檢查遠程郵件交換器。被選中。

使用此設置,我可以使用PHPMailer將電子郵件發送到在godaddy域中的電子郵件帳戶。

谷歌應用程序的指令談論MX記錄https://support.google.com/a/answer/54717?hl=en