Отправка электронной почты SMTP с PHP скрипт, размещенной на серверах Hostgator

Я создал веб-приложение как таковое в приложении, которое мне нужно отправить, чтобы отправлять пользователям свои пароли, если они их забыли. Теперь я использую аккаунт gmail для отправки электронной почты. Когда я отправляю электронное письмо локально с моей машины с помощью XAMPP, все работает отлично, и оно поставляет, как ожидалось. Когда я пытаюсь поместить php script на сервер Hostgator и попытаться отправить пользователю свой пароль, я не могу. Но причина, по которой я думаю, что это происходит, заключается в том, что Gmail немедленно пришлет мне следующее:

Someone recently used your password to try to sign in to your Google Account [removed_email]. 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

Основываясь на этом письме, я бы предположил, что Gmail обидчивый, что хост-сервер пытается отправить электронное письмо через них. Моя проблема заключается в том, что я не знаю, как исправить эту проблему (это мой первый раз, когда я делаю что-то подобное). В качестве такового я использовал фреймворк PHP, называемый codeigniter, и вот код, используемый для отправки электронной почты (обратите внимание, что этот код работает больше чем штраф локально, то есть я не думаю, что с кодом что-то не так):

public function SendEmailValidate($email,$subject,$message,$type)
 {
 $config = array(
 'protocol' => 'smtp',
 'smtp_host' => 'ssl://smtp.googlemail.com',
 'smtp_port' => 465,
 'smtp_user' => '[removed_email]',
 '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('[removed_email]','Book Bay');
 $CI->email->to($email);
 $CI->email->subject($subject);
 $CI->email->message($message);
 if($CI->email->send())
 {
 return true;
 }
 else
 {
 return false;
 }
 }

Любая помощь по этому вопросу действительно поможет, спасибо

1 ответ

его в настройках gmail; вам нужно разрешить вашему веб-сайту отправлять электронные письма;

сделайте это, перейдите в https://accounts.google.com/DisplayUnlockCaptcha и нажмите "продолжить"; затем используйте ваш веб-сайт для отправки электронной почты по электронной почте; и Google обнаружит вашу попытку входа в систему и позволит вам.

licensed under cc by-sa 3.0 with attribution.