Я создал веб-приложение как таковое в приложении, которое мне требуется для отправки, чтобы отправлять пользователям свои пароли, если они их забыли. Теперь я использую аккаунт gmail для отправки электронной почты. Когда я отправляю электронное письмо локально с моей машины с помощью XAMPP, все работает отлично, и оно поставляет, как ожидалось. Когда я смотрю, чтобы поставить php-скрипт на сервер Hostgator и попытаться отправить пользователю свой пароль, я не могу. Но причина, по которой я думаю, что это происходит, состоит в том, что Gmail немедленно пришлет мне следующее:
Someone recently used your password to try to sign in to your Google Account myemail@gmail.com. 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' => 'myemail@gmail.com', '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('myemail@gmail.com','Book Bay'); $CI->email->to($email); $CI->email->subject($subject); $CI->email->message($message); if($CI->email->send()) { return true; } else { return false; } }
Любая помощь по этому вопросу действительно поможет, спасибо
его в настройках gmail; вы должны разрешить вашему веб-сайту отправлять электронные письма;
для этого перейдите на страницу https://accounts.google.com/DisplayUnlockCaptcha и нажмите «продолжить»; затем используйте ваш веб-сайт для отправки электронной почты по электронной почте; и Google обнаружит вашу попытку входа в систему и позволит вам.