Symfony 2: Исключение Swiftmailer
-
27-10-2019 - |
Вопрос
Я работаю над электронными письмами Symfony 2, отправляющими с использованием Swiftmailer.
Вот моя конфигурация Swiftmailer в app/config/config.yml
swiftmailer:
transport: gmail
username: myusername@gmail.com
host: smtp.gmail.com
password: mypassword
Я также настроил свой Xampp Localhost для отправки электронных писем.
У меня есть форма, в которой пользователь вводит адреса электронной почты (максимум 5 электронных писем), тема и сообщение. Для первых нескольких тестов при отправке формы отправленные электронные письма. У меня также есть электронные письма. Но после этого я неоднократно получал эту ошибку ниже.
Не удалось аутентифицировать на SMTP -сервере с именем пользователя "myusername@gmail.com", используя 1 возможные аутентификаторы 500 Ошибка внутреннего сервера - SWIFT_TRANSPORTEXCEPTION
В чем проблема здесь? Я также попытался остановить свой Xampp, а затем запустить его, но все же проблема сохраняется. Кто -нибудь знает, в чем проблема?
Благодарю вас.
Решение
Вы сталкиваетесь с этой проблемой, потому что вы не настроили свой почтовый хост. Во -первых, я настоятельно рекомендую использовать услугу, такой как Sendgrid и настроить его как подробное в этом Symfony2 Учебное пособие по настройке рассылки:
mailer_transport: smtp
mailer_host: smtp.sendgrid.net
mailer_user: your_sendgrid_username
mailer_password: 'your_sendgrid_password'
mailer_port: 587
Учебное пособие также содержит подробную информацию о том, как правильно настроить службу почтовой почты в Symfony2 и как создавать шаблоны рассылки.
Но вы, если вы все еще хотите использовать Gmail, то правильная конфигурация:
mailer_transport: smtp
mailer_host: smtp.gmail.com
mailer_user: your_gmail_address@gmail.com
mailer_password: 'your_gmail_password'
mailer_port: 587
Другие советы
Насколько я помню host
ценность игнорируется, когда transport
установлен на gmail
. Анкет Что касается вашей проблемы, убедитесь, что вы используете последнюю версию Swiftmailer (v4.1.5), потому что там было исправлено. От изменений:
- Предотвратить stream_socket_client () от создания ошибки и добавить вместо этого swift_transportexception
В общем, если аутентификация не удается, исключение типа Swift_TransportException
будет брошен.