2016-05-05 4 views
1

Ich möchte die SwiftMailer-Klassenbibliothek verwenden, um E-Mails innerhalb eines PHP-Skripts zu senden.So senden Sie E-Mails mit STARTTLS und einem selbstsignierten Zertifikat mithilfe der Swiftmailer-Bibliothek in PHP

Der Mailserver stellt den Befehl STARTTLS zur Verfügung und verwendet selbstsignierte Zertifikate.

Das Problem ist, dass es scheint, ein Problem für SwiftMailer tgo die Mails zu senden.

Wenn ich einfach coee wie folgt verwenden, um den Transport zu initialisieren:

$transport = Swift_SmtpTransport::newInstance("server.example.com", 25, "tls") 
->setUsername("[email protected]") 
->setPassword("example"); 

Dieser Fehler ist Show:

Uncaught Swift_TransportException: Unable to connect with TLS encryption 

ich bereits hier und anderswo suchen. Ich fand diesen Thread hier auf Stackoverflow: PHP - Swiftmailer using STARTTLS and self signed certificates

Aber wenn ich hinzufügen, das genannte Verfahren zu dem obigen Code wie folgt aus:

->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false))); 

Der Block in voller sieht wie folgt aus:

$transport = Swift_SmtpTransport::newInstance("server.example.com", 25, "tls") 
->setUsername("[email protected]") 
->setPassword("example") 
->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false))); 

I bekomme ich diesen Fehler:

Call to undefined method setStreamOptions 

So sieht es aus wie die genannten Meth od wurde entfernt oder umbenannt. In der SwiftMailer-Dokumentation finde ich nichts dazu. Es gibt nur wenige Lösungen, die im Internet erwähnt werden, um die Bibliothek zu patchen. Ich habe diese Möglichkeiten nicht überprüft, weil ich den Bibliothekscode nicht ändern möchte.

Meine SwiftMailer Version ist die tatsächliche 5.4.2. Gibt es eine Möglichkeit, dieses Problem zu lösen, ohne die Bibliothek zu patchen, und wenn dies erforderlich ist, wie soll dies geschehen?

Hoffe, dass mir jemand helfen kann.

Mit freundlichen Grüßen

P. S. Hoffe ich habe es gut gemacht und mein Englisch ist verständlich. Wenn es Fragen gibt, fragen Sie bitte.

Antwort

0

Ich bin spät dran, aber versuchen Sie, auf die neueste Version von swiftmailer zu aktualisieren, und es wird Ihr Problem lösen. Ich hatte Version 5.4.1 und wechselte zu 5.4.6, damit es funktioniert

Verwandte Themen