Kalle_B: Mailadresse mit Umlauten

Hallöle,

kann PHP 5 Mails versenden an Adressen, die Umlaute enthalten?

Die in einem Anmeldeformular genannte Mailadresse mit Umlauten kommt nicht an.

Der Test ergibt allerdings ein korrektes Abschicken.

Habe das Abschicken dann nochmal mit einer ungültigen Mailadresse getestet, die wird auch als korrekt versendet gemeldet:

    $arr_in['mail_gesendet'] = mail( $arr_in['email_empfaenger'],  $subject, $txt, $header );  
    if ( !$arr_in['mail_gesendet'] ) echo "Mail an [".$arr_in['email_empfaenger']."] nicht gesendet<br>";  
    if (  $arr_in['mail_gesendet'] ) echo "Mail an [".$arr_in['email_empfaenger']."] wurde gesendet<br>";  

Ausgabe: Mail an [info at bäderstudio.de] wurde gesendet

Wenn ich Umlaute vermeide, klappt die Sendung nicht:
Mail an [info at baederstudio.de] nicht gesendet

Was läuft da falsch?

LG Kalle

  1. kann PHP 5 Mails versenden an Adressen, die Umlaute enthalten?

    Die in einem Anmeldeformular genannte Mailadresse mit Umlauten kommt nicht an.

    ...

    Wenn ich Umlaute vermeide, klappt die Sendung nicht:
    Mail an [info at baederstudio.de] nicht gesendet

    Was läuft da falsch?

    Hoch, das Mail Mime Format kennt zwei Verfahren um non-ASCII Zeichen in header zu maskieren. B-Encodung und Q-Encoding
    Beide Verfahren sind eine Spezialität und betreffen für gewöhnlich das Subjekt. Ich bin da spontan nicht sicher, ob dies auch für die Behandlung anderer Header Parts zuständig ist.

    Siehe http://www.faqs.org/rfcs/rfc2047.html

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    1. Hallo,

      » Die in einem Anmeldeformular genannte Mailadresse mit Umlauten kommt nicht an.
      » Wenn ich Umlaute vermeide, klappt die Sendung nicht:
      » Mail an [info at baederstudio.de] nicht gesendet
      » Was läuft da falsch?

      @Kalle:

      baederstudio ist was ganz anderes als bäderstudio. Ganz besonders in Domainnamen, bäderstudio wäre Teil eines IDN. Nutze daher Punycode!

      Hoch, das Mail Mime Format kennt zwei Verfahren um non-ASCII Zeichen in header zu maskieren. B-Encodung und Q-Encoding
      Beide Verfahren sind eine Spezialität und betreffen für gewöhnlich das Subjekt. Ich bin da spontan nicht sicher, ob dies auch für die Behandlung anderer Header Parts zuständig ist.

      Siehe http://www.faqs.org/rfcs/rfc2047.html

      @all:

      sie sind für das spezielle Problem *nicht* zuständig, schließlich steht dort explizit:

      <zitat>
       These are the ONLY locations where an 'encoded-word' may appear.  In
         particular:

      + An 'encoded-word' MUST NOT appear in any portion of an 'addr-spec'

      [...]
      </zitat>

      und Kalles Problem betrifft eine addr-spec.

      Freundliche Grüße

      Vinzenz

      1. Hallo Vinzenz,

        baederstudio ist was ganz anderes als bäderstudio. Ganz besonders in Domainnamen, bäderstudio wäre Teil eines IDN. Nutze daher Punycode!

        Bleiben zwei Fragen:

        Warum meldet PHP eine von vornherein ungültige Mailadresse (info at bäderstudio.de) als versendet, wenn sie durch den Umlaut _noch_ ungültiger wird?

        Wie heisst das PHP- Kommando zur Umwandlung? Unter php.net/punycode und php.net/ace nichts gefunden.

        LG Kalle

        1. Hi,

          Warum meldet PHP eine von vornherein ungültige Mailadresse (info at bäderstudio.de) als versendet, wenn sie durch den Umlaut _noch_ ungültiger wird?

          PHP meldet ueberhaupt kein "versendet", sondern lediglich ein "erfolgreich an den MTA uebergeben".

          MfG ChrisB

          --
          „This is the author's opinion, not necessarily that of Starbucks.“