Как правильно настроить пакет symfony2 swiftmailer для работы с SMTP-сервером с помощью NTLM AUTH?

# Swiftmailer Configuration swiftmailer: transport: smtp host: 10.8.100.1 port: 25 username: user password: pass auth_mode: ~ encryption: ~ spool: { type: memory } 

Когда я пытаюсь отправить сообщение через $this->get('mailer')->send($message); Я получаю следующую ошибку:

 Fatal error: Uncaught exception 'Swift_TransportException' with message 'Failed to authenticate on SMTP server with username "user" using 0 possible authenticators' in /..path../vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php:184 Stack trace: #0 

Я попытался auth_mode параметр auth_mode на все возможные значения plain, login, cram-md5, or null – все равно такое же сообщение об ошибке.


Затем мне захотелось подключиться к SMTP-серверу, чтобы вручную проверить, могу ли я авторизоваться (хотя, я уверен, что верные учетные данные на 100%).

telnet 10.8.100.1 25

 Trying 10.8.100.1... Connected to 10.8.100.1. Escape character is '^]'. 220 EXC.acme.local Microsoft ESMTP MAIL Service ready at Wed, 19 Mar 2014 10:34:00 +0100 

EHLO EXC.acme.local

 250-EXC.acme.local Hello [10.8.100.1] 250-SIZE 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-STARTTLS 250-X-ANONYMOUSTLS 250-AUTH NTLM 250-X-EXPS GSSAPI NTLM 250-8BITMIME 250-BINARYMIME 250-CHUNKING 250-XEXCH50 250 XRDST о 250-EXC.acme.local Hello [10.8.100.1] 250-SIZE 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-STARTTLS 250-X-ANONYMOUSTLS 250-AUTH NTLM 250-X-EXPS GSSAPI NTLM 250-8BITMIME 250-BINARYMIME 250-CHUNKING 250-XEXCH50 250 XRDST 

Я не эксперт почтового сервера, но я ожидал, что AUTH LOGIN там … похоже, что сервер (над которым я не контролирую) имеет другой метод проверки подлинности (который не поддерживается пакетом Swiftmailer?), И это может быть причина проблемы …

Правильно ли мои подозрения? Или есть способ настроить пакет Swiftmailer для правильной аутентификации с помощью AUTH NTLM?

Related of "Как правильно настроить пакет symfony2 swiftmailer для работы с SMTP-сервером с помощью NTLM AUTH?"

Кажется, что Mail Server отказывается от вашего соединения (например, google, если вы пытаетесь подключиться к своей учетной записи gmail, если есть, и swiftmailer, вы получите ту же проблему)

Сказал, что, почему бы вам не попробовать Swift_MailTransport вместо Swift_SmtpTransport (он использует метод, Swift_MailTransport на mail который немного отличается от smtp )

Итак, проблема не в конфигурации symfony2. Проблема заключалась в следующем:

  • почтовый ящик был настроен для работы внутри VPN (с компьютеров в домене / группе)
  • Я пытался отправить тестовую почту с моей машины разработки (при подключении к VPN … но мой компьютер не находится в домене / группе)

Это также причина, по которой telnet EXC.acme.local 25 не работал, но telnet 10.8.100.1 25 работал.

Итак, когда я попытался подключиться к telnet, а затем EHLO с моей dev-машины .. получил 250-AUTH NTLM , но когда я SSH'ed к машине prod (которая находится внутри домена / группы) и telnet оттуда:

  • telnet EXC.acme.local 25 сделал работу
  • EHLO EXC.acme.local возвращен AUTH LOGIN

Как только я узнал об этом, я просто загрузил свои изменения в prod-машину и начал тестировать конфигурацию оттуда (с swiftmailer.transport: smtp ), и это сработало!