E-Mailversand mit PHP
markus
- php
Hallo!
Ich habe ein PHP-Skript, daß eine E-Mail verschickt. Gebe ich meine E-Mail Adresse an funktioniert alles und es kommt korrekt bei mir an.
Bei meinem Kunden erscheint die Meldung
Diese Nachricht enthält Zeichen, die vom Internet-Dienst nicht unterstützt werden. Zum Lesen doppelkilcken Sie auf die beigefügte Anlage. Falls der Text inkorrekt angezeigt wird, speicher Sie die Anlage auf der Festplatte und öffnen Sie sie mit einem Programm, das die Zeichen darstellen kann.
Als Anhang kommt dann "message.txt" mit, die die Nachricht inkl. Header enthält.
Kann man das irgendwie "abschalten / umgehen". Ist das ein PHP Problem, ein E-Mail-Programm-Einstellungs-Problem (tolles Wort!!!) oder ist auf dem Server was falsch eingestellt??
Der Kunde verwendet angeblich ebenfalls, wie ich, Outlook. Wäre super wenn mir jemand weiterhelfen könnte!!!
Hi Markus,
ich gehe mal davon aus, dass Du den "mail"-Befehl von PHP verwendest.
Was hast du bei den Konfigurationsparametern abgegeben?
Gruss,
Koontz
ich gehe mal davon aus, dass Du den "mail"-Befehl von PHP verwendest.
Was hast du bei den Konfigurationsparametern abgegeben?
ja.
mail($recipient,"Anfrage", $msg, "From: $email\nReply-To: $email\nX-Mailer: PHP\nContent-Type: text/plain; charset='iso-8859-1'");
Hm, wie sieht der Inhalt der Variable $recipient aus?
Hm, wie sieht der Inhalt der Variable $recipient aus?
ne ganz normale email adresse.... :
$recipient = "email@provider.de";
hab noch was entdeckt.
wenn ich meine email adresse einsetze sieht der header bei mir so aus:
Received: from "server" with ESMTP
(SMTPD32-7.07) id A2461C6B0134; Wed, 26 Mar 2003 11:34:46 +0100
beim kunden sieht der header so aus (die gleiche mail, dasselbe skript!)
Received: from "server" with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.1960.3)
auch der server ist ein anderer. wie kann das sein???
Hi!
Der Kunde verwendet angeblich ebenfalls, wie ich, Outlook.
Klingt so, als wäre Outlook das Problem. Ich muß das Programm
glücklicherweise nicht verwenden, aber ich bekomme auch ständig Mails
von Leuten aus der Outlook-Gemeinde, und mir drängt sich inzwischen
der Eindruck auf, daß Outlook nicht ganz 8-Bit-sauber ist.
Outlook-EMails sind nämlich grundsätzlich "quoted-printable" verschlüsselt,
will heißen nur ein paar der unteren 128 Zeichen des ASCII-Zeichensatzes
werden in EMails übertragen, und der Rest stattdessen mit kryptischen
Escapesequenzen dargestellt.
Muß nicht unbedingt ein Outlook-Problem sein, evtl. gibt es tatsächlich noch
einen Mailserver dazwischen, der noch nicht 8-Bit tauglich ist; und dann
mußt du schlicht den Nachrichten-Inhalt "verschlüssen" und den
entsprechenden MailHeader hinzufügen.
$msg_QP = imap_8bit($msg);
mail(
$mailto,
$subject,
$msg_QP,
"From: $from\nReply-To: $from\n"
. "Content-Type: text/plain; charset="iso-8859-1"\n"
. "Content-Transfer-Encoding: quoted-printable\n"
);
Womöglich hilft es aber auch schon einfach einen Header wie
"Content-Transfer-Encoding: 8bit" hinzuzufügen, denn die besseren Mailserver
können dann auch selber in QP konvertieren, wenn nötig.
G,
milky