PHPMailer - E-Mailversand funktioniert nicht?

  • Hallo,
    zunächsteinmal habe ich bereits getestet, ob es funktioniert eine
    Standardmail per mail() zu versenden, die hatte funktioniert.

    Da ich nun für meinen selbst verfassten Newsletter bisher ca. ~50
    eingetragene E-Mails anschreiben muss habe ich mich für die
    PHPMailer Klasse entschieden.

    Dieses Tutorial habe ich dafür benutzt: klick

    Ich habe bereits versucht, eine Mail damit zu versenden mit und ohne
    SMTP Nutzung, jedesmal kam das gleiche Ergebnis, nämlich gar keins.
    Keine Fehlermeldung, keine Mail, keine Nachricht...

    Kann mir da wer weiterhelfen?
    Danke

  • Nee, nee, nee...

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.


    Bist du dir überhaupt sicher, ob das Script überhaupt durch deine beiden if's kommt? Ist das so schwer, einfach mal ein paar echo's einzubauen, um das festzustellen?

  • Hallo,
    achso ich war so blöd und hatte in der Isset=True Schleife
    die deklaration der Variablen erst vorgenommen.
    Danke für die Anleitung nun werde ich wohl mehr Fehler ohne
    externe Hilfe beseitigen können.

    Jedoch bekomme ich nun folgende Meldung:

    Code
    Fehler: SMTP Error: Could not connect to SMTP host.Die Email konnte nicht gesendet werden
    Fehler: The following From address failed: xxx.xxx@googlemail.com

    Braucht der PHP Mailer für den SMTP Versand irgendeine bestimmte
    Funktion oder stimmt etwas mit dem folgendem Code nicht?

    PHP
    $mail->IsSMTP(); //Versand über SMTP festlegen
      $mail->Host = "smtp.googlemail.com"; //SMTP-Server setzen
      $mail->SMTPAuth = true;     //Authentifizierung aktivieren
      $mail->Username = "xxx.xxx";  // SMTP Benutzername
      $mail->Password = "xxxxx"; // SMTP Passwort

    Zugangsdaten sind garantiert richtig.

    Danke

  • Zitat

    Could not connect to SMTP host


    Entweder ist der SMTP-Server down oder es ist der falsche SMTP-Server oder, oder, oder. Ist das genau der SMTP-Server, den du in deinem eMail-Client benutzt?

  • Gut, der SMTP-Server scheint zu stimmen, dann ist das

    Zitat

    The following From address failed


    das Problem, bzw.

    PHP
    $mail->From = info@xxxx.de;
  • Versuche mal

    PHP
    $mail->Host = "ssl://smtp.googlemail.com";
    $mail->Port  = 465;


    oder

    PHP
    $mail->Host = "ssl://smtp.gmail.com";
    $mail->Port  = 465;
  • Funktioniert beides nicht ich werd es nun, wenn mir der
    Server das nicht verbieten sollte, es mit der normalen
    mail() Funktion machen.

    PHP
    while($row = mysql_fetch_array($ergebnis))
        {
            $empfaenger = $row['email'];
            mail( $empfaenger,
              $betreff,
              $mailtext,
              "From: $absender\nReply-To: $antwortan");
            echo "Email erfolgreich an <b>$empfaenger</b> versendet. <br>";
    
        }
  • ich werd es nun, wenn mir der Server das nicht verbieten sollte, es mit der normalen mail() Funktion machen.


    Das solltest du nicht machen. Der Versand per SMTP ist beim phpMailer nicht zwingend erforderlich, das geht auch ohne.

  • Der PHP Mailer baut aber den gleichen Misst...

    Code
    mail()
    Mit freundlichen Gr�en
    Code
    PHPMailer
    möpmapmöpäü

    Und wie ich das nun richte weiß ich immer noch nicht.

  • Natürlich benutzt der phpMailer die mail()-Funktion, wenn man nicht SMTP angibt. Allerdings vergisst du all' die anderen Vorteile, die der phpMailer bietet. Die mail-Funktion von PHP habe ich schon seit Ewigkeiten nicht mehr direkt benutzt.

    Hast du nur eMail-Konten bei googleMail? Benutze im Notfall einen anderen.

  • Dann sollte das Problem gelöst sein. Und mal eben die Sache mit gmx auszuprobieren, geht ja schnell. Einen gmx-Account hatte ich auch schon mal probiert und hat funktioniert.

    <edit>Hab's gerade noch mal mit gmx probiert, alles bestens</edit>

    Einmal editiert, zuletzt von bandit600 (1. Februar 2009 um 19:34)

  • Hallo,
    jetzt kommt zwar, das die Mails erfolgreich verschickt wurden,
    aber es kommt nichts.. 8|

    PHP
    $mail->IsSMTP();                                       // set mailer to use SMTP
        $mail->Host = "smtp.web.de";            // specify main and backup server
        $mail->SMTPAuth = true;                         // turn on SMTP authentication
        $mail->Username = "xxxxxxxxx";               // SMTP username
        $mail->Password = "xxxxxxxx";                   // SMTP password

    Hast du das bei dir auch so?

    Danke

  • Habe mir mal vor Jahren ein Script gebastelt, mit dem ich mal eben Online eine Mail verschicken kann:


    Beachte, dieses Script ist primitiv mit Frontpage zusammengeschustert worden und der PHP-Teil ist unsicher und sollte so nicht ungeschützt auf einem Server liegen!

    Einmal editiert, zuletzt von bandit600 (1. Februar 2009 um 21:13)