SwiftMail sendet meine E-Mail nicht, während mail()
funktioniert. Genau wie hier .
Ich habe den EchoLogger hinzugefügt, aber er druckt nichts.
%Vor% Die E-Mail wird in $failures
zurückgegeben, aber warum?
Aktualisieren
In Swift_Transport_SimpleMailInvoker::mail
habe ich die Parameter weggelassen und habe folgendes bekommen:
$to, $subject, $body
ist dasselbe wie in mail()
. Noch keine Ahnung, was das Problem ist.
Update # 2
Das hat gut für mich funktioniert:
%Vor%Haftungsausschluss : Dies ist keine Lösung, sondern die Problemumgehung, die ich verwendet habe, weil ich nicht die Zeit hatte, das Framework zu debuggen und eine echte Lösung zu finden. Nutzen Sie die oben genannten Informationen, um sich selbst zu debuggen und Ihre Lösung hier zu veröffentlichen. Ich werde gerne akzeptieren und upvote es.
Ich hatte das gleiche Problem.
Laut der Dokumentation swiftmailer.org verwendet Swift_MailTransport :: newInstance () standardmäßig die Parameter -f%s
und das ist Warum hast du "[email protected]"
, um dieses Leerzeichen zwischen -f %s
zu lösen.
Ihr Code kann jetzt so aussehen:
$message = Swift_Message::newInstance('-f %s')
;
Ich habe dieses Problem gelöst, indem ich einfach null
an __construct () übergeben habe. Also sieht mein Arbeitscode so aus:
$message = Swift_Message::newInstance(null)
;
Ich hoffe, es wird jemandem helfen.
P.S. Ich benutze Postfix um Emails zu versenden.
Ich schlage vor, dass Sie den Debugger verwenden und durch den Code hinter send () gehen.
Wenn Sie keinen Debugger verwenden können, sollten Sie sich die Funktion mail
in lib/classes/Swift/Transport/SimpleMailInvoker.php
ansehen. Es gibt einen Aufruf der internen Mail-Funktion mit einem Shutdown-Operator ('@'). Vielleicht kann das Entfernen dieses Operators Ihnen eine Fehlermeldung anzeigen. Sie können auch var_dump()
verwenden, um die dort übergebenen Parameter auszugeben.
Ich konnte es beheben. Ich habe [email protected] in der Kopfzeile verwendet und dieses E-Mail-Konto wurde nicht erstellt. Ich habe [email protected] erstellt und meine E-Mails haben angefangen zu arbeiten. Ich hoffe, das hilft jemandem.
Sieht so aus, als ob Sie den Standard-Transportmechanismus verwenden, der gemäß seinen Dokumenten verwendet % verwendet. co_de% standardmäßig.
Ernste Nachteile bei der Verwendung dieses Transports sind:
Wenn ich dies debuggen würde, würde ich SwiftMailers Implementierung der Funktion mail()
finden und die übergebenen Argumente ausgeben und sie mit Ihrer eigenen Arbeitsversion von mail()
vergleichen. Ich habe keine Erfahrung mit SwiftMailer, aber das scheint eine schnelle Option zu sein.
Das Problem ist in Swift_Transport_MailTransport, private $_extraParams = '-f%s'
.
Das Flag '-f'
(siehe Ihren Code: string(15) "[email protected]"
) schlägt in einigen Situationen fehl. Code Igniter hat den gleichen "Bug".
Ich habe es auf symfony herausgefunden, wenn ich die Funktion zum Beispiel mit "exit ()" verlasse, zum Beispiel wird swiftmailer die Mail nicht senden, aber wenn ich mit
geendet habegebe neue Antwort () zurück; es sendet gut. also bin ich mir nicht sicher.
Tags und Links php email swiftmailer