2017-10-18 67 views
-1

發送郵件時發生錯誤..無法驗證密碼。錯誤:535-5.7.8用戶名和密碼不被接受。瞭解詳情,請訪問535 5.7.8 https://support.google.com/mail/?p=BadCredentials d190sm18198379pgc.53 - gsmtp 無法使用PHP SMTP發送電子郵件。您的服務器可能未配置爲使用此方法發送郵件。電子郵件不發送代碼錯誤

<?php 
public function sendmail() 
{ 

     if($this->input->post()){ 
       $email=$this->input->post('email'); 
       $config = Array(
        'protocol' => 'smtp', 
        'mailtype' => 'html', 
        'smtp_host' => 'ssl://smtp.gmail.com', 
        'smtp_port' => '465', 
        'smtp_user' => '[email protected]', 
        'smtp_pass' => 'xxxxxxx', 
        'useragent' => 'CodeIgniter', 
        'crlf' => '\r\n',  
        'newline' => '\r\n' 

       ); 
       $this->load->library('email', $config); 
       $this->load->library('email'); 

       $password="<p>This email has been sent as a request to reset our password</p>"; 
       $from='[email protected]'; 
       $to=$email; 
       $subject='forget password';       
       $this->email->from($from); 
       $this->email->to($to); 
       $this->email->subject($subject); 
       $this->email->message($password); 
       if($this->email->send()){ 
        $this->session->set_flashdata('email','We sent your password to your Email...!'); 

       } 
       else{    
        echo $this->email->print_debugger(); 
       } 

     } 

    else{ 
     $this->load->view('adminlogin'); 
    } 

} 
+3

您的錯誤消息表明智能的東西,如*「用戶名和密碼不被接受」*,特別是*「瞭解更多http:// thissuperinformativepage」*。您是否嘗試過閱讀該錯誤並關注該鏈接? – GolezTrol

+1

順便說一句:在網上分享您的憑據很好。這顯然是你永遠不應該做的事!我會盡快更改它們! - **我的意思是**的實際密碼,因爲即使您進行了編輯,問題的歷史記錄仍會保留在那裏。 – GolezTrol

+2

''crlf'=>'\ r \ n',//應該是「\ r \ n」' - 這意味着,您應該學習一些基礎知識。 http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double – CBroe

回答

0

首先,由於您的錯誤表示您需要檢查ID,密碼正確。

下面是完整的代碼:嘗試這個

<?php 
public function sendmail() 
{ 

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

     $config = Array(
      protocol' => 'smtp', 
      'smtp_host' => 'ssl://smtp.googlemail.com', //Your Host 
      'smtp_port' => '25', 
      'smtp_user' => '[email protected]', // change it to yours, server email 
      'smtp_pass' => 'xxx', 
      'mailtype' => 'html', 
      'charset' => 'iso-8859-1', 
      'wordwrap' => TRUE 

     ); 

     $this->load->library('email', $config); 

     $password="<p>This email has been sent as a request to reset our password</p>"; 
     $from='[email protected]'; 
     $to=$email; 
     $subject='forget password';       
     $this->email->from($from); 
     $this->email->to($to); 
     $this->email->subject($subject); 
     $this->email->message($password); 
     if($this->email->send()){ 
      $this->session->set_flashdata('email','We sent your password to your Email...!'); 

     } 
     else{    
      echo $this->email->print_debugger(); 
     } 

    } else { 
     $this->load->view('adminlogin'); 
    } 

} 
+0

用戶名和密碼是否正確..有沒有在Gmail中做的其他設置.. – Anu

+0

是@Anu你可以在[這裏]找到它(https://www.formget.com/send-email-via-gmail-smtp-server-in-php/) –

0

您好我認爲這將解決您的問題。

如果你使用gmail發送你的問題,請花點時間試試這個解決方案。

  • 變化'smtp_host' => 'ssl://smtp.gmail.com''smtp_host' => 'smtp.gmail.com'
  • 添加'smtp_crypto' => 'tls'
  • 變化'smtp_port' => '465''smtp_port' => '587'
  • 在電子郵件帳戶中創建一個應用程序的密碼,並在您的應用程序憑據用它換取您的真實密碼。
  • 在您的電子郵件帳戶中啓用安全性較低的應用。

這些是我以前遇到問題時所做的解決方案。希望能幫助到你。

+0

謝謝爲您的解決方案。但得到同樣的錯誤。請幫助我解決.. – Anu

+0

這是您所做的更改@Anu – Miggy