Ich habe ein sehr einfaches PHP-Skript, etwas wie:
%Vor%Natürlich habe ich ein bisschen mehr Code, aber das macht nichts. Sobald ich diesen Code erstellt habe, sendet das Skript eine E-Mail an den Benutzer.
Der Eingang
Die Links sind in jeder einzelnen Zeile in Ordnung, außer dass die LETZTE den Link auf diese Weise anzeigt:
%Vor%Es fügt einen Abstand zwischen dem Code hinzu.
Dies geschieht nur bei Hotmail. Gmail, Yahoo und alles andere funktioniert gut.
Ich weiß, dass es zu spät ist, aber es gibt eine alternative Lösung, die für mich funktioniert hat:
Verwenden Sie diese Zeile, um Ihre gesamte Nachricht mit base64 zu codieren:
%Vor%Fügen Sie dann Ihre Kopfzeile hinzu:
%Vor%Das teilt dem Mail-Client mit, dass Ihre Nachricht base64-codiert ist.
Karankans Lösung funktioniert wahrscheinlich, aber die Hauptursache ist, was Hobo sagte. Die Funktion mail
fügt alle 900 Zeichen einen Zeilenumbruch ein (glaube ich). Wenn Sie also Ihre $ -Nachricht mit einer Menge $message .= "more text";
aufbauen, wird dieser Fehler auftreten, sobald diese Zeile mehr als 900 Zeichen lang ist. Es ist jedoch verwirrend, weil die Leerzeichen nur sporadisch zu sein scheinen, insbesondere wenn Sie eine HTML-Nachricht erstellen, da die Zeilenumbrüche manchmal an vollkommen benignem Ort erscheinen.
Die einfache Lösung besteht darin, am Zeilenende ein \r\n\
hinzuzufügen.
Interessanterweise funktionieren diese Formen:
%Vor%Aber das ist nicht:
%Vor% \r\n
muss in doppelte Anführungszeichen gesetzt werden, sonst werden die Zeichen nur zum Text hinzugefügt, anstatt einen Wagenrücklauf / Zeilenumbruch zu erzeugen.
hatte das gleiche Problem und versuchte die meisten dieser Lösungen, aber es funktionierte nicht für mich. Es scheint, wenn die Linie zu lang ist, um eine Mail-Funktion hinzuzufügen, fügt sie Platz um 900 Zeichen hinzu. Die folgende Lösung zum Hinzufügen von Wordwrap funktionierte für mich.
mail ($ zu, $ subject, wordwrap ($ message), $ headers);
Ich habe gesehen, dass sendmail Zeichen einfügt, wenn die Zeilen zu lang sind. Das ist hier nicht der Fall (da andere Clients es gut handhaben), aber ich frage mich, ob Hotmail eine Zeilenlänge hat, die Sie treffen.
Macht es einen Unterschied, wenn Sie in echo
eine neue Zeile einfügen, dh