Frage

Ich habe versucht, php Mailer aber Fehler wie folgt zu verwenden.

SMTP -> FROM SERVER:
SMTP -> FROM SERVER:
SMTP -> ERROR: EHLO not accepted from server:
SMTP -> FROM SERVER:
SMTP -> ERROR: HELO not accepted from server:
SMTP -> ERROR: AUTH not accepted from server:
SMTP -> NOTICE: EOF caught while checking if connectedSMTP Error: Could not authenticate. Message could not be sent.

Mailer Error: SMTP Error: Could not authenticate. 

und mein Code

 <?php
        require("class.phpmailer.php")
        $mail = new PHPMailer();        
        $mail->IsSMTP();                                    
        $mail->Host = "smtp.gmail.com";  
        $mail->Port = 465;        
        $mail->SMTPAuth = true;     

        $mail->SMTPDebug = 2;  
        $mail->Username = "admin@xxxxxxxxxxxx.in";  
        $mail->Password = "xxxxxxxx";   
        $mail->From = "admin@xxxxxxxxxxxx.in";
        $mail->FromName = "Mailer";
        $mail->AddAddress("xxxx@yahoo.co.in", "mine");               
        $mail->WordWrap = 50;                                 
        $mail->IsHTML(true);                                  

        $mail->Subject = "Here is the subject"  
        $mail->Body    = "This is the HTML message body <b>in bold!</b>";
        $mail->AltBody = "This is the body in plain text for non-HTML mail clients";


        if(!$mail->Send())  {
           echo "Message could not be sent. <p>";
           echo "Mailer Error: " . $mail->ErrorInfo;
           exit;
        }
        echo "Message has been sent";

        ?>
War es hilfreich?

Lösung

Einige Server (insbesondere Shared Hosting) werden Sie blockieren mit SSL mit SMTP, hatte ich das gleiche Problem einmal.

So oder Änderung Host, wenn Sie können, versuchen Sie die Standard-PHP mail () Funktion oder durch einen anderen Mail-Server senden, die nicht SSL erfordert z.B. Port 25 nicht 465.

So etwas wie AuthSMTP wäre die beste Wahl für einen alternativen E-Mail-Server sein.

Andere Tipps

Ich wurde dies durch falsch Port für SSL.

SSL = 465 TLS = 587

Siehe auch: http://mail.google.com/support/bin/answer.py?hl= & de answer = 13287

Ich hatte die gleichen Probleme, so scheint es, dass wir die SMPTSecure Wert einzustellen. Zuerst änderte ich den Port 465 bis 587 und das hinzugefügt:
$ Mail-> SMTPSecure = "tls"; und es hat funktioniert:)

Wenn Sie in Ihrem eigenen Rechner arbeiten gehen Sie einfach auf die PHP-Erweiterung und aktivieren oder überprüfen Sie die php_openssl es wird die SSL-Ports zugreifen kann.

versuchen, diesen Code

require 'PHPMailerAutoload.php';

    //Create a new PHPMailer instance
    $mail = new PHPMailer();
    //Tell PHPMailer to use SMTP
    $mail->IsSMTP(); 
    //Enable SMTP debugging
    // 0 = off (for production use)
    // 1 = client messages
    // 2 = client and server messages
    //$mail->SMTPDebug = 2;

    //Ask for HTML-friendly debug output
    //$mail->Debugoutput = 'html';

    //Set the hostname of the mail server
    $mail->Host = 'smtp.gmail.com';

    //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission
    $mail->Port = 465;

    //Set the encryption system to use - ssl (deprecated) or tls
    $mail->SMTPSecure = 'ssl';

    //Whether to use SMTP authentication
    $mail->SMTPAuth = true;

    //Username to use for SMTP authentication - use full email address for gmail
    $mail->Username = "admin@gmail.com";

    //Password to use for SMTP authentication
    $mail->Password = "admin123";

    $mail->setFrom('admin3@gmail.com', 'development');  //add sender email address.

    $mail->addAddress('admins@gmail.com', "development");  //Set who the message is to be sent to.
    //Set the subject line
    $mail->Subject = $response->subject;

    //Read an HTML message body from an external file, convert referenced images to embedded,
    //convert HTML into a basic plain-text alternative body
    $mail->Body     = 'Name: '.$data['name'].'<br />Location: '.$data['location'].'<br />Email: '.$data['email'].'<br />Phone:'.$data['phone'].'<br />ailment: '.$data['ailment'].'<br />symptoms: '.$data['symptoms'];

    //Replace the plain text body with one created manually
    $mail->AltBody = 'This is a plain-text message body';

    //Attach an image file
    //$mail->addAttachment('images/phpmailer_mini.gif');
    //$mail->SMTPAuth = true;
    //send the message, check for errors
    if (!$mail->send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Message sent!";
    }

wegen der Feuerwand sein kann?

  

Wenn Sie nicht auf Google Talk anmelden können,   oder die Sie erhalten einen Fehler,   sagt, authentifizieren kann nicht   Server, überprüfen Sie, ob Sie persönlich haben   Firewall-Software installiert ist, oder wenn   Ihr Computer hinter einem Proxy-Server   das erfordert einen Benutzernamen und Passwort ein.

http://www.google.com /support/talk/bin/answer.py?hl=en&answer=30998

Ich verwende das gleiche Skript für mehrere Kunden und nur in dieses Problem, wenn auf Amazon EC2 Cloud-Anbieter (wie Openshift) einsetzen.

Diese werden versucht und Einstellungen in phpmailer getestet:     $ Mail-> SMTPSecure = "tls"; // setzt das Präfix für den Servier     $ Mail-> Host = "smtp.gmail.com"; // setzt GMAIL als SMTP-Server     $ Mail-> Port = 587;

‚sondern‘ Google blockiert diese Dienste als ‚Anti-Spam‘ / politisches Manöver, und das hat mich gefangen, weil es vor Ort und auf den meisten Hosting-Provider arbeitet, gibt es nicht viel Sie tun können, wenn sie nicht akzeptieren, Outbound-Nachrichten von Ihrem Rechner DNS / IP. Nehmen Sie es und zieht weiter durch die Suche nach einem anderen SMTP-Server zum Weiterleiten von Nachrichten durch.

Hat das gleiche Problem, ändert Hafen Nein in OpenCart Mail-Einstellung auf 587 und funktioniert

nicht sicher, aber versuchen $mail->Host = "smtp.gmail.com" =>$mail->Host = "smtp.google.com"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top