2015-08-01 2 views
3

Я создал учетную запись в Gmail (потому что предыдущая проблема давала мне ту же проблему), чтобы мое приложение могло отправлять письма с помощью Google SMTP-сервера.Настройки Google Gmail SMTP, не позволяющие мне отправлять электронные письма с помощью PHPMailer

Я использую библиотеку PHPMailer и попросил его показать ошибки журнала.

Я всегда получаю сообщение, подобное этому. Это немного варьироваться, иногда короче, а иногда и больше, в зависимости от моей конфигурации

2015-08-01 05:07:01 CLIENT -> SERVER: EHLO www.lavile.com 
2015-08-01 05:07:01 CLIENT -> SERVER: AUTH LOGIN 
2015-08-01 05:07:01 CLIENT -> SERVER: Y29udGF0by5sYXZpbGVAZ21haWwuY29t 
2015-08-01 05:07:01 CLIENT -> SERVER: WXlhdUgxMnM= 2015-08-01 05:07:01 SMTP ERROR: Password command failed: 534-5.7.9 Please log in with your web browser and then try again. Learn more at 534 5.7.9 https://support.google.com/mail/answer/78754 b16sm3352387qga.48 - gsmtp 
2015-08-01 05:07:01 SMTP Error: Could not authenticate. 
2015-08-01 05:07:01 CLIENT -> SERVER: QUIT 
2015-08-01 05:07:01 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting string(82) "SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting" 

Это мой сценарий

$mail->Username = "[email protected]"; 
    $mail->Password = "mypassword"; 

    $mail->IsSMTP(); // enable SMTP 
    $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only 
    $mail->SMTPAuth = true; // authentication enabled 
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail 
    $mail->Host = "smtp.gmail.com"; 
    $mail->Port = 465; // or 587 
    $mail->IsHTML(true); 
    $mail->SetFrom($mail->Username, 'Contato Lavile'); 
    $mail->addAddress($mail->Username, "Contato Lavile"); 
    $mail->Subject = 'Novo contato no site Lavile'; 
    $mail->Body = $text; 
    $mail->IsHTML(true); 
    $mail->AltBody = $text; 

Также GMAIL отправляет автоматические письма на себя предупреждая меня, что новая попытка входа в систему был заблокирован. Я даже изменил некоторые настройки на своем gmail, чтобы заставить его работать, но все не удалось

Любые идеи? Вы знаете, что может случиться?

+0

может CodeIgniter быть причиной этой ошибки ?! –

+0

Вы основали код на устаревшем примере. Используйте [тот, который предоставляется с PHPMailer] (https://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps). – Synchro

ответ

-2

$mail->Host = "smtp.gmail.com"; должно быть что-то вроде:

$mail->Host = "mail.yourdomain.com";//replace your domain name 
+0

Неправда - он отправляет через gmail. – Synchro

4

Я рекомендовал бы действительно прочитать сообщение об ошибке:

... 534-5.7.9 Пожалуйста, войдите с помощью веб-браузера, а затем попробуй еще раз. Узнайте больше на 534 5.7.9 https://support.google.com/mail/answer/78754 b16sm3352387qga.48 - gsmtp

При чтении этого сайта вы найдете кое-что о поддержке клиентов, которые обеспечивают только менее безопасные методы авторизации. Ваш клиент является одним из таких follow the link, чтобы узнать, как включить поддержку этих приложений в gmail.

+0

А также ссылка, предоставленная документации PHPMailer, которая охватывает эту точную проблему: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting – Synchro

+0

https://accounts.google.com/DisplayUnlockCaptcha, решил мою проблему – Shan

0

Вы можете отправить электронную почту без собственного сервера SMTP: 1) получить получатель ого имя хост из днса 2) отправить письмо в порт 25

Смежные вопросы