PHP Rocks
HTML Mail versenden mit PHPMailer - Druckversion

+- PHP Rocks (https://www.php-rocks.de)
+-- Forum: Server & Hosting (https://www.php-rocks.de/https://www.php-rocks.de/forum/15-server-hosting.html)
+--- Forum: Webserver (https://www.php-rocks.de/https://www.php-rocks.de/forum/17-webserver.html)
+--- Thema: HTML Mail versenden mit PHPMailer (/https://www.php-rocks.de/thema/265-re-html-mail-versenden-mit-phpmailer.html)



HTML Mail versenden mit PHPMailer - Werner Z. - 23.04.2018

Hallo,
anhand des o.g. Tutorials in php-rocks habe ich versucht, ein mail zu versenden.
Ich verwende den Apache auf meinem lokalen Rechner (Windows 10), ohne Verbindung zum Internet.
Es kommt leider die Fehlermeldung:
Connection: opening to http://www.test-lokal.de:587, timeout=300, options=array()
Connection failed. Error #2: stream_socket_client(): unable to connect to http://www.test-lokal.de:587 (Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.) [D:\Myinternet\homepages-test\test-lokal\PHPMailer\src\SMTP.php line 325]

Daraufhin habe ich den Windows Defender deaktiviert, ohne Erfolg.
Dann habe ich den Port 587 freigegeben, nach wie vor die selbe Meldung.

Was kann ich noch versuchen?


RE: HTML Mail versenden mit PHPMailer - Arne Drews - 23.04.2018

Hi Werner,

Um das lokal zu testen, müsste bei Dir nicht nur Apache, sondern auch ein SMTP-Server lokal installiert/konfiguriert sein, was sicher nicht der Fall ist, oder?
Weiterhin müsste lokal auch die E-Mail Adresse konfiguriert sein, also wenn man so will ein kompletter Mailserver, da Du für den Test-Empfang zusätzlich ja POP oder IMAP benötigst. SMTP kümmert sich ja nur um den Versand.

Ich muss gestehen, dass ich mir nicht mal sicher bin, dass das lokal testbar ist.

Hast Du die nicht evtl. Möglichkeit, das online zu testen?
Du wirst ja sicher einen Mail-Account haben. Wenn Du dazu die SMTP-Daten hast, kannst Du es damit ja testen. Als Test-Empfänger legst Du Dir dann ne kostenlose bei einem Anbieter Deiner Wahl an.

Ist vermutlich nicht die Antwort, die Du Dir erhofft hast, aber was anderes fällt mir adhoc nicht ein.
Blush


RE: HTML Mail versenden mit PHPMailer - fireweasel - 25.04.2018

(23.04.2018, 12:01)Werner Z. schrieb: Es kommt leider die Fehlermeldung:
Connection: opening to http://www.test-lokal.de:587, timeout=300, options=array()
Connection failed. Error #2: stream_socket_client(): unable to connect to http://www.test-lokal.de:587 (Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.) [D:\Myinternet\homepages-test\test-lokal\PHPMailer\src\SMTP.php line 325]

...
Was kann ich noch versuchen?

Erstmal die Fehlermeldung analysieren:
Wie kommt das Durcheinander von englisch- und deutsch-sprachigem Text zustande?
Ist der Domain-Name "www.test-lokal.de" korrekt? Das "www" signalisiert üblicherweise einen HTTP(S)-Server. Der kann mit einer SMTPS-Anfrage normalerweise nichts anfangen oder|und lauscht auch nicht auf Port 587 (dem SMTPS-Standard-Port).

Weiterhin kannst du Fehler in der Konfiguration von Mail-Client und Mail-Server (auf einen von beiden) eingrenzen, indem du jeweils eine "funktionierende" Anwendung beider Arten testweise benutzt. Auf der Client-Seite kannst du einen E-Mail-Client wie Thunderbird benutzen und testen, ob du damit eine fehlerfreie Verbindung zu deinem Mail-Server hinbekommst. Auf der Server-Seite kannst du den Mercury Mail Server nehmen, der zur Windows-Version des XAMPP-Pakets gehört.

(23.04.2018, 12:01)Werner Z. schrieb: Daraufhin habe ich den Windows Defender deaktiviert, ohne Erfolg.
Dann habe ich den Port 587 freigegeben, nach wie vor die selbe Meldung.
Löst eine DNS-Anfrage (bspw. mit ping oder tracert) nach "test-lokal.de" zu einer entsprechenden IP-Adresse (auf deinem Test-Rechner) auf? Falls ja: Lauscht auf der entsprechenden IP-Adresse am richtigen Port auch ein Mail-Server?
Die Windows-"Firewall" sagt normalerweise auch Bescheid, wenn sie einen Verbindungsversucht "geblockt" hat. Wenn sie das nicht tut, ist der Verbindungsversuch schon beim Aufbau gescheitert.


RE: HTML Mail versenden mit PHPMailer - Werner Z. - 27.04.2018

(25.04.2018, 12:25)fireweasel schrieb:
(23.04.2018, 12:01)Werner Z. schrieb: Löst eine DNS-Anfrage (bspw. mit ping oder tracert) nach "test-lokal.de" zu einer entsprechenden IP-Adresse (auf deinem Test-Rechner) auf? Falls ja: Lauscht auf der entsprechenden IP-Adresse am richtigen Port auch ein Mail-Server?
Danke für die Tipps,
ping und tracert funktionieren.
Wie stelle ich fest ob und wo ein Mail-Server lauscht?


RE: HTML Mail versenden mit PHPMailer - Arne Drews - 27.04.2018

Müsste in den Einstellungen zu finden sein, bspw. hier: https://www.tecchannel.de/a/mercury-schlanker-mailserver-fuer-windows,401807,9 ( "Listen on TCP/IP Port" )


RE: HTML Mail versenden mit PHPMailer - Werner Z. - 27.04.2018

Im Programm PHPMailer war der Poert 587, in Mercury habe ich jetzt 25 entdeckt und daher im Programm auch auf 25 geändert.
Welche Einstellung ist korrekt, 25 oder 587?
In jedem Falle kommt dasProgramm jetzt weiter.
Es kommen jetzt die Meldungen
SMTP INBOUND "502 STARTTLS not enabled by administrator"
SERVER -> CLIENT 502 STARTTLS not enabled by administrator

Wo kann ich STARTTLS "enablen"?


RE: HTML Mail versenden mit PHPMailer - Arne Drews - 27.04.2018

STARTTLS benötigt den Port 465 bzw. 587, bin mir grad nicht sicher.
Ich würde lieber den Mercury darauf konfigurieren, anstatt das Programm auf 25 zu setzen.


RE: HTML Mail versenden mit PHPMailer - Werner Z. - 27.04.2018

(27.04.2018, 15:52)Arne Drews schrieb: STARTTLS benötigt den Port 465 bzw. 587, bin mir grad nicht sicher.
Ich würde lieber den Mercury darauf konfigurieren, anstatt das Programm auf 25 zu setzen.

Hi Arne,
habe 465 und 587 versucht, aber es kommen noch die gleichen Meldungen, dass STARTTLS  not enabled.


RE: HTML Mail versenden mit PHPMailer - Arne Drews - 27.04.2018

Denn hoffe ich mal, dass @fireweasel noch was dazu sagen kann.
Ich habe leider nicht die super großen Erfahrungen mit der Konfiguration von Mail-Servern.

Ich kann Dir nur raten, die lokalen Test ad Acta zu legen und das ganze über Deine E-Mail zu testen.