Linuchs: Unterstrich in email Adresse

Moin,

PHP versendet eine Mail nicht, wenn die Adresse einen _ enthält:

$email_e = "vorname_nachname@web.de";
$mail_to = mb_encode_mimeheader ( $mail_e );
$result  = mail( $mail_to, $mail_subject, $mail_body, $mail_header );

$result ist FALSE.

Wie kann ich das Problem lösen?

Gruß, Linuchs

  1. Hallo Linuchs,

    $mail_e

    du meinst $email_e

    Gruss
    Henry

    --
    Meine Meinung zu DSGVO & Co:
    „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“
    1. Hello,

      Hallo Linuchs,

      $mail_e

      du meinst $email_e

      Ich hab eben erst gestutzt, aber Du hast Recht.

      Ich wollte noch dazu erwähnen, dass die Eingangscodierung vorher geprüft werden sollte bzw. sichergestellt sein muss und man die auch ggf. angeben muss in der mb_encode_mimeheader().

      Henry

      Glück Auf
      Tom vom Berg

      --
      Es gibt nichts Gutes, außer man tut es!
      Das Leben selbst ist der Sinn.
    2. Original:

      function mail_an_empfaenger( $subject, $html_string, $mail_e ) {
      ...
        $mail_to      = mb_encode_mimeheader ( $mail_e );
      ...
        $result = mail( $mail_to, $mail_subject, $mail_body, $mail_header );
      
      1. Hallo Linuchss,

        Original:

        function mail_an_empfaenger( $subject, $html_string, $mail_e ) {
        ...
          $mail_to      = mb_encode_mimeheader ( $mail_e );
        ...
          $result = mail( $mail_to, $mail_subject, $mail_body, $mail_header );
        

        Bin jetzt nicht sicher, was du damit zeigen möchtest. Wahrscheinlich, dass die falsche Variable im Original nicht passiert? Kommt drauf an wie du die Funktion aufrufst. Aber was anderes, warum benutzt du mb_encode_mimeheader() bei einer Emailadresse?

        Gruss
        Henry

        --
        Meine Meinung zu DSGVO & Co:
        „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“