Wie kodiere ich Zeichen im local part der E-Mail-Adresse?

Hallo zusammen,

ich habe eine einfache Frage, auf die ich im Internet keine Antwort finde: Mal angenommen, ein Mailserver akzeptiert Unicode-Zeichen im Local Part von E-Mail-Adressen (und ich weiß, dass viele es nicht tun). Gibt es dann eine Möglichkeit, die Zeichen so zu kodieren, dass sie sich auch in ASCII ausdrücken lassen? Also so wie das Zeichen „ü“ in HTML als ü und in URLs als %FC enkodiert wird?

Vielen Dank!

Mal angenommen, ein Mailserver akzeptiert Unicode-Zeiche
n im
Local Part von E-Mail-Adressen (und ich weiß, dass viele es nic
ht tun). Gibt es dann eine Möglichkeit, die Zeichen so zu
kodieren,

Du musst differenzieren zwischen der Mailadresse im smtp-Dialog und der Adresse, die im Header erscheint und die beim Empfänger angezeigt wird. Erstere muss aus einer eindeutigen Zeichenfolge bestehen - umkodieren, wie auch immer, ist da nicht drin.

Die angezeigte Adresse hat hingegen für den Versand der Mail keinerlei Bedeutung - die kannst du codieren, wie du lustig bist. Soweit üblich wird im Header, egal ob From:, To: oder Subject: UTF-8-kodiert. Früher auch quoted-printable, aber das hat heute kaum noch Bedeutung.

Sieht dann - hier im Subject, ist aber egal, Header ist Header - z. B. so aus:
Subject: =?UTF-8?B?4piF4piF4piFIEPGoSBo4buZaSBz4bufIGjhu691IEPEg24gaOG7mSBESeG7hk4gVMONQ0ggTkjhu44sIG5nYXkgUEjDmiBN4bu4IEjGr05HLCBnacOhIGNo4buJIHThu6sgMTUgVHJp4buHdS9tMg==?=

Bzw. übersetzt;

Subject: ★★★ Cơ hội sở hữu Căn hộ DIỆN TÍCH NHỎ, ngay PHÚ MỸ HƯNG, giá chỉ từ 15 Triệu/m2

HTH