Senden von E-Mails über Office365-Konto in Codeigniter 3 - connection timeout
Ich versuche eine Verbindung zu meinem Office365-Konto und senden Sie eine E-Mail in Codeigniter 3:
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.office365.com';
$config['smtp_user'] = '****';
$config['smtp_pass'] = '****';
$config['smtp_port'] = '587';
$config['smtp_timeout'] = '60';
$config['smtp_crypto'] = 'tls';
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from('****', '****');
$this->email->to('****');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
$this->email->send(FALSE);
$this->email->print_debugger();
Dieser code funktioniert auf meinem lokalen server (wamp), aber nicht auf meinem produktiven server (Debian), das ist, warum ich vermute, einige Einstellungen auf dem server geändert werden müssen. Alles was ich bekomme ist diese:
A PHP Error was encountered
Severity: Warning
Message: fsockopen(): unable to connect to smtp.office365.com:587 (Connection timed out)
Filename: libraries/Email.php
Line Number: 1949
Ich auch versucht, den Versand von E-Mails mit Phpmailer Klasse und ich bekam das gleiche Ergebnis; funktioniert auf meinem lokalen Rechner, nicht auf Produktions-server.
Codeigniter-Klasse verwendet die Funktion fsockopen eine Verbindung zu dem mail-server, aber ich kann nicht herausfinden, die Lösung, da ich nicht viel Ahnung von server Konfiguration.
Jeder Vorschlag würde geschätzt!
Besuch-stackoverflow.com/questions/1555145/...
Danke für eine schnelle Antwort. Getestet habe ich die ports mit dem Skript fand ich in einem dieser Antworten. Ich schaffte es wieder zu entsperren, ports 587 und 465 auf meiner server-firewall. Jetzt wenn ich versuche zu senden die E-mail mit Phpmailer library funktioniert alles einwandfrei! Aber ich bin immer noch nicht senden E-Mail innerhalb von Codeigniter. Ich bekomme diese Fehlermeldung jetzt: Nachricht: stream_socket_enable_crypto(): SSL: crypto enabling timeout
stackoverflow.com/questions/14978459/...
php.net/manual/en/function.stream-socket-enable-crypto.php
InformationsquelleAutor rannt | 2015-06-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du wahrscheinlich lief php auf einem Linux-Rechner, wenn dies der Fall ist, müssten Sie folgende Zeile zu überschreiben, CodeIgniter, s-Konfiguration parameter
'newline' => "\r\n", //muss für office365!
Veröffentlichte ich hier einen Artikel:
http://aus800.com.au/sending-out-emails-using-codeigniter-from-office365-account/
InformationsquelleAutor Jason
Hier ist was für mich gearbeitet hat in der Vergangenheit:
Auch zu beachten, dass die FROM-Adresse muss die gleiche sein, wie smtp_user
InformationsquelleAutor Chris Muench
Kann ich nicht genau den Fehler herausstellen. Also ich habe 3 Methoden. Greifen die Idee oder die Methode ausgearbeitet.
Methode 01
Wichtigen Informationen:
dann
Methode 02
SSL/TLS vs Klartext - /STARTTLS-port-Nummern
Methode 03
POP and IMAP settings: SMTP setting Server name: smtp.office365.com Port: 587 Encryption method: TLS
ich habe versucht, die änderung der Einstellungen (host, port, crypto) und überprüft die Anmeldeinformationen, aber das problem ist immer noch da. Egal was ich mache, ich bekomme immer die gleiche Fehlermeldung (nachdem die Seite geladen wird, für eine lange Zeit): "stream_socket_enable_crypto(): SSL: crypto enabling timeout" Bedenken Sie, ich kann problemlos senden Sie eine E-Mail mit dem Phpmailer-script mit den gleichen Einstellungen auf dem gleichen server!Sie können die Nutzung von gmail statt outlook
Leider kann ich nicht, ich muss zum senden von E-Mails, die über unser Unternehmen E-mail, die ist gehostet bei Microsoft.
versuchen Sie es mit php-mailer
Das wird mein letzter Ausweg. Ich sehe nicht den Sinn in der Nutzung und externen Bibliothek, wenn der eine in Codeogniter ist völlig in Ordnung. Ich weiß, dieses problem irgendwie mit der server-Einstellungen, aber ich weiß nicht viel über Server und ich kann ' T es herausfinden.
InformationsquelleAutor Abdulla Nilam
InformationsquelleAutor Cristian_Meza
Für Personen, denen gleiche problem, die Verbindung zu Office365 smtp auf 2019 und nach:
Ich beschloss, dass ich mein problem nur mit PHPMailer-Klasse.
Getestet habe ich alles hier und in anderen Fragen und nichts.
Hochgeladen PHPMailer Ordner einrichten, config-Dateien und boom. E-Mails funktioniert.
Mit codeigniter 3.10 und problem scheint zu bleiben, da dies eine alte Frage.
In Ihre E-Klasse (codeigniter) einen Kommentar, dass scheint die smtp-Verbindung ist nicht sehr gut...
Ich nicht sehr gut Englisch sprechen, aber dies scheint ein wenig verwirrend.
Ok, also, wenn Sie nicht wollen, zu verlieren mehr Zeit, laden PHPMailer Ordner, den Sie herunterladen können unter:
https://github.com/PHPMailer/PHPMailer
Laden Sie Ihre PHPMailer Ordner zu
application/libraries/
und erstellen Sie eine Datei auch dort:In
MY_phpmailer.php
Datei:PHPMailer versenden-Funktion:
Ok, um zu beenden, auf die controller, würden Sie dies nutzen wollen, senden Funktion:
Und in Ihrem Blick, wenn Sie möchten, senden von e-mails:
InformationsquelleAutor Felipe Lima