• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[PHP] Encoding in mail()

Z

zirzofer

Guest
Angenommen eine mailadresse enthaelt sonderzeichen: mail@exämple.tld
Um z.b. den email-host mittels checkdnsrr zu überprüfen, muss ich diesen ja davor per idn_to_ascii($mail) in ASCII enkodieren. Muss ich dies auch, um anschließend per mail() eine e-mail daran zu senden?
 
Soll ich dann die gesamte Mailadresse enkodieren, nur die Domain oder alles vor + nach dem @-Zeichen?
 
Was kommt denn raus, wenn du die komplette Adresse kodierst?
PHP:
var_dump(idn_to_ascii("exämple@exämple.org"));
//string(26) "xn--exmple@exmple-cfbh.org"

/*
oder
*/
$mail = explode("@", "exämple@exämple.org");
var_dump($mail[0]."@".idn_to_ascii($mail[1]));
//string(27) "exämple@xn--exmple-cua.org"
/*
so schaut es mir korrekt aus da firefox z. b. auch nach http://xn--exmple-cua.org/ auflöst
*/

@jspit: danke für den Tipp. Es geht aber nur um eine kleine Mailadress-confirm-Mail in plaintext. da moechte ich keine ganze klasse dafuer nutzen - mein code hat nicht einmal 10 zeilen.
 
Das erste sieht falsch aus - das zweite aber irgendwie auch. Aber ich muss ehrlich sagen, dass ich mit Sonderzeichen im vorderen Teil von Mailadressen keine Erfahrung habe. Da muss es doch einen RFC zu geben, wie das genau auszusehen hat...
 
Zurück
Oben