Скрипт отправки почты с Gmail: не удалось пройти аутентификацию на SMTP-сервере

мне трудно получить мой PHP-скрипт для отправки писем с учетной записью SMTP Gmail. Я использую PHP и Symfony2 SwiftMailer, но, похоже, проблема заключается в моей конфигурации учетной записи Gmail. В моих журналах я получаю следующее сообщение об ошибке:

"ERROR - Exception occurred while flushing email queue: Failed to authenticate on SMTP server with username "new.user.name@gmail.com" using 1 possible authenticators"

к счастью, у меня была другая учетная запись Gmail, работающая с другим приложением, казалось бы. Спасение этих параметров (пользователя и пароля) в моем новом окне, eveything работает просто отлично.

in параметры.yml у меня (работает нормально):

parameters:
    mailer_transport: gmail
    mailer_host: ~
    mailer_user: old.user.account@gmail.com
    mailer_password: old-password

и вот версия, дающая сообщение об ошибке auth:

parameters:
    mailer_transport: gmail
    mailer_host: ~
    mailer_user: new.user.account@gmail.com
    mailer_password: new-password

Излишне говорить, что я проверил, перепроверил и проверил еще раз пользователя и пароль.

Я просмотрел Настройки учетной записи Gmail в разделе "пересылка и POP / IMAP" в моей новой учетной записи: я ничего не мог найти о SMTP.

Поиск заставил меня знать, что некоторые политики captcha могут вмешиваться в учетные записи SMTP. Я читаю здесь что я следует попытаться ввести фразу captcha, которую я делаю здесь, и получить хорошее сообщение:" доступ к учетной записи включен", " пожалуйста, попробуйте войти в свой аккаунт Google снова с вашего нового устройства или приложения."

повторите попытку. Не повезло.

все это происходит из моей локальной среды разработки (как OK почты, так и не OK почты).

как я мог бы использовать SMTP с недавно созданной учетной записью Gmail ? Есть идеи ?

3 ответов


на самом деле, дважды проверив мой почтовый ящик, я увидел, что получил письмо от Google, объясняющее, что кто-то пытается войти в мою учетную запись. Там я нашел ссылку на параметр конфигурации, который я искал:

https://www.google.com/settings/security/lesssecureapps

==> Мне просто нужно было проверить: "сделайте мою учетную запись менее безопасной.- и смог получать письма.

тем временем я обнаружил, что служба SMTP Gmail становится довольно ненадежной и время от времени вводит captcha (здесь). Мне кажется с этим ничего не поделаешь. С другой стороны, я читаю более сильные пароли, кажется, помогают в некоторых случаях (здесь).

Я также должен сказать, что с недавно созданной учетной записью я не смог заставить это работать. Даже снимите флажок "сделать мою учетную запись слишком безопасной". Похоже, Gmail сворачивает свою SMTP-службу.

обновление

Я хотел сказать, что есть отличные и бесплатные (или очень, очень дешево для высокого volumes) Альтернативы для отправки электронных писем. Например, вы можете проверить мандрил, SendGrid или Amazon SES, среди других.


используя ссылку https://www.google.com/settings/security/lesssecureapps дал мне сообщение: Этот параметр отключен вашим администратором.

Я должен был пойти admin.google.com и войти с теми же реквизитами учетной записи и искать ту же настройку там. Полный url был https://admin.google.com/AdminHome#ServiceSettings/notab=1&service=securitysetting&subtab=lesssecureappsaccess

тогда первая ссылка работала, так что и там я включены менее безопасные приложения. Теперь я смог использовать Gmails SMTP.


может, это кому-нибудь поможет: у меня была такая же встреча с Gmail, но в моем случае, когда я вошел в аккаунт Gmail, который я настроил в моем коде как SMTP почты отправителя пользователей, я встретил предупреждение, Сообщение о том, что кто-то попытался использовать имя пользователя и пасс и эта попытка была заблокирована (отсюда и мое сообщение об ошибке). Он попросил меня подтвердить, был ли это я или нет, поэтому после того, как я нажал кнопку "Это был я" и попробовал мой код снова, все работало нормально.