Ich habe ein Skript, das E-Mails sendet, die so aussehen:
%Vor%Es wurde gründlich getestet, aber einige Benutzer, ich denke Outlook-Benutzer, erhalten eine URL, die folgendermaßen aussieht: Ссылка Auf die Gleichheitszeichen folgt jetzt "3D", was die URL in meinem Fall nutzlos macht. Ich denke, das hat etwas mit dem Content-Transfer-Encoding oder vielleicht dem Inhaltstyp zu tun, muss ich die Body-Nachricht zu base64 oder etwas codieren?
Habe gerade diesen Forenbeitrag gefunden: Ссылка Also habe ich das Content-Transfer-Encoding entfernt und es scheint gut zu funktionieren, aber andererseits konnte ich den Fehler, wo die URL den "3D" -Text enthielt, nie reproduzieren, so dass ich nicht sicher sein kann, dass das funktioniert. Weiß jemand, ob das Entfernen der Content-Transfer-Codierung mein Problem lösen würde?
Dies wird in Ihrer Frage nicht erwähnt, aber die =3D
ist eine Escape-Sequenz des zitierten druckbaren Übertragung Codierung; Es wird verwendet, um 8-Bit-Daten unter Verwendung einer 7-Bit-Codierung sicher zu übertragen.
Es gibt immer noch Mail-Server, die keine Zeilen länger als 76 Spalten mögen, und Zwischenserver können Ihre Nachricht beschädigen, ohne die Nachrichtenköpfe zu aktualisieren, was zu dem beobachteten Verhalten führt.
Seit 5.3.0 können Sie quoted_printable_encode()
verwenden, um Ihre Nachricht zu codieren und den Content-Transfer-Encoding-Header entsprechend zu setzen:
Das Setzen einer expliziten Transfercodierung ist eine gute Übung, die Sie anwenden sollten, anstatt einen naiven "irgendwie funktioniert es" -Ansatz:)
Tags und Links php content-type