2014-01-30 118 views
4

我在應用程序中創建了一個Web應用程序,如果他們忘記了這些應用程序,我需要發送它們以發送用戶密碼。現在我使用一個Gmail帳戶發送電子郵件。當我使用XAMPP從本地機器發送電子郵件時,一切正常,並且按預期交付。當我將php腳本放到Hostgator服務器上並嘗試發送用戶密碼時,我不能。但我認爲發生這種情況的原因是因爲Gmail立即給我發了以下內容:在此基礎上的電子郵件,我會認爲Gmail是棘手的是HostGator的是嘗試通過他們發送一封電子郵件從HostGator服務器上託管的PHP腳本發送SMTP電子郵件

Someone recently used your password to try to sign in to your Google Account [email protected] This person was using an application such as an email client or mobile device. 

We prevented the sign-in attempt in case this was a hijacker trying to access your account. Please review the details of the sign-in attempt: 

Tuesday, January 21, 2014 1:42:56 PM UTC 
IP Address: 198.57.247.245 (gator3281.hostgator.com.) 
Location: Los Angeles, CA, USA 


If you do not recognize this sign-in attempt, someone else might be trying to access your account. You should sign in to your account and reset your password immediately 

。我的問題是我不知道如何解決這個問題(這是我第一次做這樣的事情)因此,我使用的是一個名爲codeigniter的PHP框架,這裏是用於發送電子郵件的代碼(注意這段代碼更有效比上等的當地即我不認爲有什麼不好的代碼):

public function SendEmailValidate($email,$subject,$message,$type) 
    { 
     $config = array(
         'protocol' => 'smtp', 
         'smtp_host' => 'ssl://smtp.googlemail.com', 
         'smtp_port' => 465, 
         'smtp_user' => '[email protected]', 
         'smtp_pass' => 'mypassword', 
         'smtp_timeout' => 30, 
         'mailtype' => $type 
         ); 
     $CI = &get_instance(); 

     $CI->load->library('email',$config); 
     $CI->email->set_newline("\r\n"); 
     $CI->email->from('[email protected]','Book Bay'); 
     $CI->email->to($email); 
     $CI->email->subject($subject); 
     $CI->email->message($message); 

     if($CI->email->send()) 
     { 
      return true; 
     } 
     else 
     { 
      return false; 
     } 
    } 

在這個問題上的任何幫助,將真正幫助,感謝

+0

爲什麼不嘗試Mailchimp或Sendgrid等其他服務來發送交易電子郵件?他們也很容易集成 –

+0

您可以使用PHP郵件功能從您的hostgator服務器發送電子郵件並設置reply-path-to:[email protected] ...因此,收到您的電子郵件的人將看到並回復解決myemail @ gmail.com ..如果你需要我可以發佈一個答案與PHP郵件功能代碼.. –

回答

6

其在Gmail設置;你需要允許你的網站發送電子郵件;

要這樣做去https://accounts.google.com/DisplayUnlockCaptcha並點擊繼續;然後使用您的網站向電子郵件發送電子郵件;谷歌會檢測你的登錄嘗試,並允許你。

+0

謝謝!解決了我的問題! – user481610

+0

在我的情況下,我不得不使用以下鏈接https://www.google.com/settings/security/lesssecureapps並啓用安全性較低的應用程序 – marquito

+0

這適用於我,但爲什麼只在某些託管服務器上才需要? –

相關問題