Probleme bei Mails an GMX-Adressen
detlevk
- php
Ich schaffe es nicht, HTML-formatierte Emails an GMX-Adressen zu schicken. Der folgende Code funktioniert bei allen mir verfügbaren Providern, nur eben dort nicht:
$header = "From: Mein Shop <info@meinedomain.de>\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html\r\n\r\n";
$betreff = ($lang=="DE") ? "Ihre Bestellung" : "Your order";
// Hier wird der HTML-Text zusammen gebaut
mail($email, $betreff, $text_voll, $header, "-finfo@meinedomain.de");
Bei den meisten Empfängern sieht die Mail (mit Header) so aus wie hier bei T-Online:
Return-Path: info@meinedomain.de
Received: from mailin07.aul.t-online.de (mailin07.aul.t-online.de [172.20.27.45])
by mhead302 (Cyrus v2.3.15-fun-3.2.6.0b-1) with LMTPA;
Sat, 23 Oct 2010 11:49:02 +0200
X-Sieve: CMU Sieve 2.3
Received: from dd16118.kasserver.com ([85.13.137.47]) by mailin07.aul.t-online.de
with esmtp id 1P9aih-0khYzg0; Sat, 23 Oct 2010 11:48:59 +0200
Received: by dd16118.kasserver.com (Postfix, from userid 30)
id DF5AD1800CD7B; Sat, 23 Oct 2010 11:48:58 +0200 (CEST)
To: meine.adresse@t-online.de
Subject: Ihre Bestellung
From: Mein Shop info@meinedomain.de
MIME-Version: 1.0
Content-Type: text/html
Message-Id: 20101023094858.DF5AD1800CD7B@dd16118.kasserver.com
Date: Sat, 23 Oct 2010 11:48:58 +0200 (CEST)
X-TOI-SPAM: n;1;2010-10-23T09:49:02Z
X-TOI-VIRUSSCAN: clean
X-TOI-EXPURGATEID: 149288::1287827339-00003A39-1F2228A8/0-0/0-0
X-TOI-SPAMCLASS: CLEAN, NORMAL
X-TOI-MSGID: 77039519-4de9-41cf-aed4-f7ee187094c0
X-Seen: false
X-ENVELOPE-TO: krauss.detlev@t-online.de
(Hier steht der HTML-Text)
Bei gmx sieht das so aus:
Return-Path: info@meinedomain.de
Delivered-To: GMX delivery to mein.name@gmx.de
Received: (qmail invoked by alias); 23 Oct 2010 09:22:13 -0000
Received: from dd16118.kasserver.com (EHLO dd16118.kasserver.com) [85.13.137.47]
by mx0.gmx.net (mx098) with SMTP; 23 Oct 2010 11:22:13 +0200
Received: by dd16118.kasserver.com (Postfix, from userid 30)
id A53C41800CD7B; Sat, 23 Oct 2010 11:22:12 +0200 (CEST)
To: mein.name@gmx.de
Subject: Ihre Bestellung
From: Mein Shop info@meinedomain.de
Date: Sat, 23 Oct 2010 11:22:13 +0200
Message-ID: 20101023092213.21919gmx1@mx098.gmx.net
X-GMX-Antivirus: 0 (no virus found)
X-GMX-Antispam: 0 (Mail was not recognized as spam);
Detail=5D7Q89H36p6i75npGen84eVAEFK/syJmiNoEBJhgjYKpglu1TZLLw7xMZnJMXwBFy+Sxe
D/AUQGQOurK3ezVJqUBFH0uN5pjmWoMfpyHp50bhtjZM0CG++x/WhL52uHmSlKgagQflFz2+Ls8U
cTU6A==V1;
MIME-Version: 1.0
Content-Type: text/html
Message-Id: 20101023092212.A53C41800CD7B@dd16118.kasserver.com
Date: Sat, 23 Oct 2010 11:22:12 +0200 (CEST)
(Ab hier steht der HTML-Text)
Email-Adressen und Domains wurden verändert wg. Datenschutz und Spam-Gefahr.
Mir fällt auf, dass GMX grundsätzlich die Anweisungen ab "MIME-Version: 1.0" in den Content verschiebt. Diese werden also nicht als Bestandteil des Headers erkannt.
Das gilt übrigens auch dann, wenn ich die Mail als Multipart/alternative oder ähnliches anlege.
Kann es sein, dass GMX besonders pingelig bzgl. irgendwelcher Standards ist, die ich nur unzureichend kenne oder gelten hier besondere Regeln?
Auf jeden Fall muss es möglich sein, an GMX-Adressen formatierte Mails zu schicken. Ich erhalte schließlich genug davon.
Hello,
Ich schaffe es nicht, HTML-formatierte Emails an GMX-Adressen zu schicken. Der folgende Code funktioniert bei allen mir verfügbaren Providern, nur eben dort nicht:
$header = "From: Mein Shop info@meinedomain.de\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html\r\n\r\n";
$betreff = ($lang=="DE") ? "Ihre Bestellung" : "Your order";
Welches System wird für den SMTP-Server verwendet?
Versuche es mal so:
[code lang=php]
$header = "From: Mein Shop info@meinedomain.de" . PHP_EOL;
$header .= "MIME-Version: 1.0" . PHP_EOL;
$header .= "Content-Type: text/html";
$betreff = ($lang=="DE") ? "Ihre Bestellung" : "Your order";
# ...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
Hello,
Ich schaffe es nicht, HTML-formatierte Emails an GMX-Adressen zu schicken. Der folgende Code funktioniert bei allen mir verfügbaren Providern, nur eben dort nicht:
$header = "From: Mein Shop info@meinedomain.de\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html\r\n\r\n";
$betreff = ($lang=="DE") ? "Ihre Bestellung" : "Your order";Welches System wird für den SMTP-Server verwendet?
Versuche es mal so:
[code lang=php]
$header = "From: Mein Shop info@meinedomain.de" . PHP_EOL;
$header .= "MIME-Version: 1.0" . PHP_EOL;
$header .= "Content-Type: text/html";$betreff = ($lang=="DE") ? "Ihre Bestellung" : "Your order";
# ...
>
>
>
>
>
> Liebe Grüße aus dem schönen Oberharz
>
>
> Tom vom Berg
> ![](http://selfhtml.bitworks.de/Virencheck.gif)
So funktioiert es jetzt (PHP\_EOL auch hinter der letzten Header-Zeile)! Es spielt also nicht nur eine Rolle, welches System bei meinem Hoster läuft (Linux), sondern auch das System des jeweiligen Mail-Anbieters spielt mit!
Wer weiß schon von allen Mail-Anbietern, welches System die nutzen!
Von daher gilt wohl für alle: Grundsätzlich PHP\_EOL benutzen!
Vielen Dank!
Ich wusste doch, dass es irgendein Kleinkram sein musste, den ich in meiner Betriebsblindheit nicht gesehen habe!
Detlev
>
>
Hello,
Ich schaffe es nicht, HTML-formatierte Emails an GMX-Adressen zu schicken. Der folgende Code funktioniert bei allen mir verfügbaren Providern, nur eben dort nicht:
$header = "From: Mein Shop info@meinedomain.de\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html\r\n\r\n";
$betreff = ($lang=="DE") ? "Ihre Bestellung" : "Your order";Welches System wird für den SMTP-Server verwendet?
Versuche es mal so:
[code lang=php]
$header = "From: Mein Shop info@meinedomain.de" . PHP_EOL;
$header .= "MIME-Version: 1.0" . PHP_EOL;
$header .= "Content-Type: text/html";$betreff = ($lang=="DE") ? "Ihre Bestellung" : "Your order";
# ...
>
> So funktioiert es jetzt (PHP\_EOL auch hinter der letzten Header-Zeile)!
Sollte eigentlich auch ohne zusätzlichen Zeilenumbruch hinter der letzten Headerzeile funktionieren, weil den die mail()-Funktion selber passend einfügt.
Berichte uns doch bitte nochmal, ob das stimmt, oder ob PHP\_EOL auch dort unbedingt nochmal sein muss.
> Es spielt also nicht nur eine Rolle, welches System bei meinem Hoster läuft (Linux), sondern auch das System des jeweiligen Mail-Anbieters spielt mit!
Nur das System spielt eine Rolle, das die Maildatei zusammenbaut. Da ist es egal, welches System die überigen Versender (die ja nur Relay sind) verwenden. Die erwarten eine Maildatei nach RFC 2822 ff.
> Von daher gilt wohl für alle: Grundsätzlich PHP\_EOL benutzen!
Scheint ein probates Universalmittel szu sein für die Header. Ob es immer wirkt, weiß ich noch nicht.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
Hello,
Sollte eigentlich auch ohne zusätzlichen Zeilenumbruch hinter der letzten Headerzeile funktionieren, weil den die mail()-Funktion selber passend einfügt.
Berichte uns doch bitte nochmal, ob das stimmt, oder ob PHP_EOL auch dort unbedingt nochmal sein muss.
Es funktioniert tatsächlich ohne den letzten Zeilenumbruch! Also habe ich den jetzt erst einmal weg gelassen.
Es spielt also nicht nur eine Rolle, welches System bei meinem Hoster läuft (Linux), sondern auch das System des jeweiligen Mail-Anbieters spielt mit!
Nur das System spielt eine Rolle, das die Maildatei zusammenbaut. Da ist es egal, welches System die überigen Versender (die ja nur Relay sind) verwenden. Die erwarten eine Maildatei nach RFC 2822 ff.
Davon bin ich ursprünglich auch ausgegangen. Aber anscheinend ist es nicht bei allen Relays so. Kann das etwas mit dem von gmx verwendeten serverseitigen Spamfilter zu tun haben?
Wenn ein Relay die Mail nicht nur weiter reicht, sondern vorher noch auf Spam untersucht, könnte das System u.U. schon eine Rolle spielen.
Von daher gilt wohl für alle: Grundsätzlich PHP_EOL benutzen!
Scheint ein probates Universalmittel szu sein für die Header. Ob es immer wirkt, weiß ich noch nicht.
Es scheint jedenfalls oft zu wirken.
Detlev