2016-04-05 12 views
14

У меня есть проект symfony с пакетом swiftMailer. Я пытался отправить электронную почту через swiftmailer с помощью NTLM auth. Но я не нашел способ включить NTLM через конфигурацию пакета.Есть ли способ добавить NTLM-тип auth в SwiftMailer с помощью пакета SwiftMailer в symfony?

После борьбы с ним я нашедший решение

Первое решение

current($this->get('mailer')->getTransport()->getExtensionHandlers()) 
    ->setAuthenticators([new \Swift_Transport_Esmtp_Auth_NTLMAuthenticator()]); 

Комментарий золотника в config.yml

# spool:  { type: memory } 

Но это выглядеть немного странно.

Второе решение

Удалить SwiftMailer расслоением и использовать SwiftMailer непосредственно, потому что тип NTLM аутентификации активируется по умолчанию.

Есть ли лучший способ использования типа NTLM auth?

+4

Ваше текущее решение/хак занимает 1 строчку кода ... Пока NTLM не будет поддерживаемый быстрым пакетом почтовой рассылки, я сомневаюсь, что вы могли бы найти лучшее решение ... –

+0

@Kadriles, я имею в виду через события или/и конфигурацию. С рабочей катушкой. – sectus

+0

symfony.com/doc/current/reference/configuration/swiftmailer.html#auth-mode - Допустимые значения: plain, login, cram-md5 или null. компьютер на данный момент не говорит прямо из конфига. Я нашел в вендоре/swiftmailer/swiftmailer/lib/preferences.php. Не могли бы вы сделать свою декларацию в этом файле? Я знаю, что это в файле поставщика и, вероятно, будет перезаписано при обновлении, но если вам нужен более чистый код, стоит сделать снимок, а затем оставить заметку – Simon

ответ

1

Я создал pull request, который получил одобрение.

Начиная с версии v3.0.4 вы можете использовать

auth_mode: ntlm 

Вы можете установить v3.0.4 версию с помощью команды

composer require symfony/swiftmailer-bundle:^3.0.4 
+0

Супер. , , , , , – sectus