2016-04-05 28 views
14

Ho un progetto symfony con il pacchetto swiftMailer. Stavo cercando di inviare e-mail tramite swiftmailer utilizzando l'autenticazione NTLM. Ma non ho trovato un modo per attivare NTLM tramite la configurazione del pacchetto.C'è un modo corretto per aggiungere il tipo di autenticazione NTLM a SwiftMailer usando il pacchetto SwiftMailer in symfony?

Dopo aver lottato con esso ho trovato la soluzione

Prima soluzione

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

Commento spool in config.yml

# spool:  { type: memory } 

Ma è sembrare un po 'strano.

Seconda soluzione

fascio Rimuovere SwiftMailer Utilizzando swiftmailer direttamente, perché il tipo autenticazione NTLM attivata.

Esiste un modo migliore per utilizzare il tipo di autenticazione NTLM?

+4

Il tuo attuale soluzione/mod prende 1 riga di codice ... Fino a quando non sarà NTLM supportato dal pacchetto rapido di mailer, dubito che potresti trovare una soluzione migliore ... –

+0

@Kadriles, intendo tramite eventi o/e configurazione. Con la bobina di lavoro. – sectus

+0

symfony.com/doc/current/reference/configuration/swiftmailer.html#auth-mode - I valori validi sono plain, login, cram-md5 o null. il computer dice no per il momento direttamente dalla configurazione. Ho trovato in venditore/swiftmailer/swiftmailer/lib/preferences.php. Potresti fare la tua dichiarazione in questo file? So che è nel file del venditore e probabilmente verrà sovrascritto in fase di aggiornamento ma, se si desidera un codice più pulito, vale la pena provare e quindi lasciare una nota – Simon

risposta

1

Ho creato pull request che è stato approvato.

Dalla versione v3.0.4 è possibile utilizzare

auth_mode: ntlm 

È possibile installare v3.0.4 versione usando il comando

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

Super. . . . . . – sectus