Ergebnis 1 bis 9 von 9
  1. #1
    j-l-n Guest

    Umlaute in Mail-Empfänger - PHP mail()

    Der Versand von E-Mails mit PHP mail() klappt in meinem Skript problemlos. Enthält nun allerdings die Mailadresse des Empfängers Sonderzeichen, wie z.B. Umlaute, wird zwar kein Fehler ausgegeben, aber die Mail kommt nicht an...
    PHP-Code:
    $empfaenger "testmitä@trash-mail.com";

    mail($empfaenger$betreff$text$headers);

    $email htmlentities($empfaengerENT_HTML5"UTF-8");
    die(
    "E-Mail abgeschickt an ".$email); 

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.725

    AW: Umlaute in Mail-Empfänger - PHP mail()

    Seit wann düfen E-Mail Adressen deutsche Umlaute enthalten?

  3. #3
    j-l-n Guest

    AW: Umlaute in Mail-Empfänger - PHP mail()

    Zitat Zitat von mikdoe Beitrag anzeigen
    Seit wann düfen E-Mail Adressen deutsche Umlaute enthalten?

    Ich hab's auch erst zufällig erfahren:
    Zitat Zitat von Wikipedia
    Alle Zeichen oberhalb des ASCII-Codes 127, also auch Umlaute, waren bis vor kurzem verboten. Seit RFC 6531, welcher im Jahr 2012 eröffnet wurde, sind jedoch auch viele UNICODE-Zeichen (internationale Buchstaben vieler Länder) erlaubt.
    Allerdings wird auch erwähnt:
    Zitat Zitat von CHIP Forum
    Also viele Mailserver als auch Mailprogramme stellen sich nach wie vor quer, sowohl bei Umlauten in der Mailadresse als auch in der Domain.

    Vielleicht prüfe ich auch einfach die Eingabe auf Umlaute usw. und geb dann eine Fehlermeldung à la "Ihre E-Mail-Adresse enthält ungültige Zeichen. Bitte verwenden Sie eine andere!" aus. Nur ist das etwas rigoros, dieses "Tja, dann benutzen Sie halt eine andere", falls jemand wirklich eine Mailadresse mit Umlauten besitzt...
    Geändert von j-l-n (27-04-2014 um 19:51 Uhr) Grund: Ergänzung

  4. #4
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.725

    AW: Umlaute in Mail-Empfänger - PHP mail()

    Hast du mal versucht, die Adresse auch Base64 zu kodieren?
    Durch das vorangestellte =?ISO-8859-15?Q? müsste der Mailserver das eigentlich raffen.

  5. #5
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.706

    AW: Umlaute in Mail-Empfänger - PHP mail()

    Schau' dir doch mal den Rückgabewert von mail() an - eventuell beschwert sich da PHP doch.

    Die Adresse muss hald http://www.ietf.org/rfc/rfc2822.txt (Seite 16) erfüllen.

    Eventuell könnte http://de.wikipedia.org/wiki/Punycode auch helfen...

  6. #6
    j-l-n Guest

    AW: Umlaute in Mail-Empfänger - PHP mail()

    Zitat Zitat von kkapsner Beitrag anzeigen
    Schau' dir doch mal den Rückgabewert von mail() an - eventuell beschwert sich da PHP doch.
    Liefert 1 zurück. Scheint also alles geklappt zu haben. Hilfreich wäre, irgendwie erfahren zu können, an welche Adresse denn die E-Mail von PHP nun gesendet wurde...

    Zitat Zitat von mikdoe Beitrag anzeigen
    Hast du mal versucht, die Adresse auch Base64 zu kodieren?
    Durch das vorangestellte =?ISO-8859-15?Q? müsste der Mailserver das eigentlich raffen.
    Funktioniert nicht. Sowohl mit ISO-8859-1 als auch UTF-8.

  7. #7
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.706

    AW: Umlaute in Mail-Empfänger - PHP mail()

    Zitat Zitat von Julian Beitrag anzeigen
    Funktioniert nicht. Sowohl mit ISO-8859-1 als auch UTF-8.
    Wenn du Base64 verwendest, muss es auch ?B? heißen.

    Aber so wie ich RFC 2822 darf nur der lokale Teil (also der vor dem @) "quoted" sein.

  8. #8
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.712

    AW: Umlaute in Mail-Empfänger - PHP mail()

    Mein Tipp:
    Bitte nicht mail() benutzen, sondern eine ordentliche Mail-Klasse (phpmailer / swiftmail).
    Du läufst sonst immer den Problemen hinterher:
    - dass deine Email erst gar nicht gesendet wird
    - deine Email-Header NICHT RFC konform sind und die mail von einem der Zwischensysteme deshalb nicht weiterbefördert wird
    - am Zielsystem abgelehnt wird
    - Inhalte/Umlaute falsch dargestellt werden.

    In jeder guten Mailerklasse kannst du den Zeichensatz setzen.

    Mail() ist tot, es lebe mail()

    LG jspit

  9. #9
    j-l-n Guest

    AW: Umlaute in Mail-Empfänger - PHP mail()

    Danke für den Tipp, jspit. Ich bin mir dessen allerdings bewusst. Dennoch mache ich das Ganze deswegen mit mail(), weil es sich einfach nur um eine kurze Info-Mail an mich selbst handelt. Und die kann ich dann einfach abschicken, ohne erst groß noch irgendwelche Klassen verwenden zu müssen...
    Trotzdem wie gesagt danke für den Hinweis!

Ähnliche Themen

  1. PHP mail() - Umlaute im Betreff
    Von j-l-n im Forum Links & Tutorials mit Tipps & Tricks zu JavaScript, CSS, PHP, MySQL
    Antworten: 7
    Letzter Beitrag: 28-04-2014, 18:24
  2. Sonderzeichen/Umlaute in mail()
    Von Felidae im Forum Serverseitige Programmierung
    Antworten: 3
    Letzter Beitrag: 18-03-2007, 13:28
  3. PHP mail, PHP mail with attachment(mit anhang)
    Von Radion2 im Forum Serverseitige Programmierung
    Antworten: 3
    Letzter Beitrag: 13-12-2006, 10:23
  4. mail mit js
    Von gery im Forum JavaScript
    Antworten: 23
    Letzter Beitrag: 19-03-2004, 09:57
  5. Mehrere E-Mail Empfänger
    Von Marin im Forum Serverseitige Programmierung
    Antworten: 3
    Letzter Beitrag: 26-02-2001, 16:26

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •