PHPMailer Ungültige Adresse

Will ich senden Sie eine E-mail mit PHPMailer. Ich benutze diesen code, aber ich habe diesen Fehler :

Ungültige Adresse: [email protected]

(Ich verwende die fake-Adressen bei StackOverflow. Ich benutze eine echte Adresse in meinem wirklichen code.)

<?php

    $from = "My Name";
    $mail = "[email protected]";

    require_once('./class.phpmailer.php');

    $bodytext = "
    <html>
    <head>
    <title>title</title>
    </head>
    <body>
    <h1 style='text-align:center'>Some text</h1>
    <p>more text. Here's a name : $from</p>
    </body>
    </html>
    ";
    try {
        $email = new PHPMailer(true);
        $email->From      = '[email protected]';
        $email->FromName  = 'WebMaster';
        $email->isHTML(true);
        $email->Subject   = 'subject';
        $email->Body      = $bodytext;
        $email->addAddress( $mail, "Name" );
        $email->AddReplyTo($mail,"Name");

        //$file_to_attach = $filePath;

        //$email->AddAttachment( $file_to_attach , 'constat.pdf' );

        $email->Send();
        } catch (Exception $e) {
        echo $e->getMessage();
    }
    //var_dump($email);
?>

Sice es ist bereits ein SMTP-server läuft, ich habe nicht um es zu konfigurieren und die PHP-Funktion mail arbeitet.

Wie kann ich diesen Fehler beheben ?

  • Überprüfen Sie den Rückgabewert von addAddress, und auch einen Blick in Ihre E-mail-server anmelden.
  • Das habe ich schon. Er kehrte false, und seit dem bekomme ich den Fehler, ohne zu versuchen, um die mail zu senden (habe ich entfernt die Zeile), ich glaube nicht, dass es nichts in den logs.
  • Gut, dass ist Ihre Antwort dann - Sie geben Sie eine ungültige Adresse.
  • Es ist nicht eine ungültige Adresse. Auch wenn ich meine echte mail-Adresse (Gmail), ich habe den gleichen Fehler.
  • So setzen Sie in ein wenig Mühe! Das ist klar wo das problem liegt, also herauszufinden, warum es denkt, dass Ihre Adresse ungültig ist! Es ist nicht so, wenn es gibt eine Menge von code im validateaddress ein. Legen Sie einen Haltepunkt in der IDE und verfolgen, was es tut.
  • Meine IDE ? Haltepunkt in PHP ? Sind Sie für real ? Ich benutze Apache und Notepad++... Und ich habe keine Ahnung, warum Sie denken, dass meine E-mail-Adresse als invalide.
  • Gut, wenn Sie darauf bestehen, das Leben schwer für sich selbst... Schneiden Sie Ihren code zurück, um ein minimal-Beispiel, bleiben einige "echo" - Anweisungen in validateaddress ein, so dass Sie sehen können, was es tut. Das ist sehr einfach Debuggen.
  • Was redest du da ? Was verwenden Sie, für das schreiben von PHP ? Und wie erwartet, validateaddress ein zurück false. Glaubst du, ich havn ' T versucht, einige echo (oder var_dump()) ? Ich bin nicht ein newbie. Ich weiß nur nicht, PHPMailer.
  • Es ist sehr einfach - sehen innen validateaddress ein zu sehen, warum es die Rückkehr false. Entweder gibt es etwas falsch mit Ihrer Adresse, oder die Validierung. Sie haben Fehler Ausgang aufgedreht (E_ALL) auf Ihre PHP-Konfiguration? Ich nutze PHPStorm, obwohl die IDE wird Ihnen viel mehr helfen, als ein generischer editor.
  • Ich glaube nicht, Anzeige aller Fehler. Und ich will nicht von PHPStorm. Notepad++ war immer genug.
  • Fein, also von innen sehen validateaddress ein, zu sehen, welche Muster es bei der Wahl und sehen, was stimmt nicht mit deiner Adresse.
  • Ich weiß nicht, wie Sie reguläre Ausdrücke verwenden und Sie sind mir zu lang, um Sie zu verstehen. Ich habe versucht, einige Webseiten zu überprüfen, die dem regulären Ausdruck, und 2 von Ihnen sind zu sagen, dass die Adresse mit dem regulären Ausdruck übereinstimmen, und die 2 anderen sagt es nicht.
  • Dem einen ist es die Auswahl? Und welche PHP version läuft bei dir?
  • Ich bin mit PHP 5.5, und ich da ich nicht weiß, welchen regulären Ausdruck den string match, ich weiß nicht, welchen Fall er ausgewählt... wollen Sie die PHPMailer-Datei ?
  • Lassen Sie uns weiter, diese Diskussion im chat.

InformationsquelleAutor Seblor | 2015-06-04
Schreibe einen Kommentar