PHP Swift mailer: не удалось выполнить аутентификацию по SMTP с использованием 2 возможных аутентификаторов

когда я отправляю электронное письмо с PHP Swift mailer на этот сервер: smtp.exchange.example.com вот так:

// Load transport
$this->transport =
    Swift_SmtpTransport::newInstance(
       self::$config->hostname,
       self::$config->port
    )
    ->setUsername(self::$config->username)
    ->setPassword(self::$config->password)
    ;

// Load mailer
$this->mailer = Swift_Mailer::newInstance($this->transport);

// Initialize message
$this->message = Swift_Message::newInstance();

// From
$this->message->setFrom(self::$config->from);

// Set message etc. ...

// Send
$this->mailer->send($this->message);

Я получаю странную ошибку:

не удалось аутентифицироваться на SMTP-сервере с именем пользователя "user@example.com" использование 2 возможных аутентификаторов

Я точно знаю, что логин-информация верна.

13 ответов


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

на https://accounts.google.com/UnlockCaptcha и разблокировать учетную запись для доступа через другие носители / сайты.

обновление : 2015

кроме того, вы можете попробовать это, перейдите в https://myaccount.google.com/security#connectedapps В нижней части справа есть опция "разрешить менее безопасные приложения". Если он "выключен", включите его, сдвинув кнопку.


У меня была та же проблема, поэтому я отключил один параметр в моем корневом логине WHM, который выглядит следующим образом:

WHM > Главная > конфигурация сервера > Настройки Настройки > ограничить исходящий SMTP для root, exim и mailman (FKA SMTP Tweak) [?]


У меня действительно такая же проблема, наконец, я решил ее.

это похоже не проблема Swift Mail. Это проблема парсера Yaml. если ваш пароль только цифры, пароль senmd к swift, наконец,не тот же самый.

swiftmailer:
    transport:  smtp
    encryption: ssl
    auth_mode:  login
    host:       smtp.gmail.com
    username:   your_username
    password:   61548921

вам нужно исправить это с двойными кавычками пароль: "61548921"


Я только что получил ту же ошибку.

странно то, что прокомментировал строки учетных данных

// ->setUsername(self::$config->username)
// ->setPassword(self::$config->password)

и проблема исчезла.

я озадачен, потому что почтовый сервер определенно нуждается в этих учетных данных.


Я попробовал почти все возможные предложения, упомянутые здесь, но для меня проблема была решена после изменения "доступа для менее безопасных приложений", чтобы включить в моей вкладке настроек безопасности учетной записи Google. Надеюсь, это может быть полезно для других !


серверу может потребоваться какое-то шифрование и безопасная аутентификация.
см.http://swiftmailer.org/docs/sending.html#encrypted-smtp


попробуйте поместить имя пользователя в двойную кавычку "имя пользователя", как-то это исправлено для меня.


Я столкнулся с той же проблемой и решили ее. Сначала попробуйте войти в свою учетную запись gmail вручную. Эта проблема из-за Google обнаружил свой аккаунт Gmail злоупотребляет. Например, отправить много писем в течение короткого периода времени.


возможно, вы используете неправильное имя пользователя.

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

Пример: JacekPL@lala.pl

Если вы используете ->setUsername('JacekPL'), Это может вызвать ошибку. Использовать ->setUsername('jacekpl') вместо. Это решило мою проблему.


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

в поле Тип терминала:

telnet servername portnumber 

Если вы получите ответ 220, вы можете связаться с SMTP-сервером, и нет проблем с подключением, но если соединение с сервером не удалось увидеть, что не так в вашей сети.

Если серверу нужна аутентификация, попробуйте пройти аутентификацию на сервере по имени пользователя и паролю и посмотреть, что-то пойдет не так.

наконец посмотреть, если сервер требует шифрования, и если да, openssl и другие вещи настроены правильно.


Я получил ту же ошибку.

Я использовал учетную запись gmail и SMTP-сервер Google для отправки писем. Проблема заключалась в том, что SMTP-сервер отказывался авторизоваться, поскольку он считал мой веб-хост (через которого я отправлял электронную почту) злоумышленником.

Я следил за процессом Google, чтобы определить мой веб-хост как действительный объект для отправки электронной почты через мою учетную запись, и проблема была решена.


Если вы пытаетесь отправить почту из локальной среды, например. XAMPP или WAMP, эта ошибка будет возникать каждый раз, идти вперед и попробовать тот же код на вашем веб-хостинге или что вы используете для производства.

кроме того, 2-ступенчатая аутентификация от google может быть проблемой.


странно, что отправка электронной почты снова работает. Мы ничего не меняли, и хозяин говорит, что они тоже не меняли. Мы думаем, что сервер перезапускается или около того. Странно: S