2010-12-15 5 views
0

Ich versuche, E-Mails mit phpMailer und GMail SMTP zu senden. Es funktioniert gut, E-Mails an andere Google Mail-Konten zu senden, aber die E-Mails werden an Yahoo gesendet. Ich lese über das Debugging mit IP-Adressen und so, aber ich bin in diesem Bereich nicht qualifiziert?PHPMailer Lite & GMAIL SMTP: E-Mails nicht an Yahoo Mail gesendet, wie zu debuggen?

hier ist der Code:

$mail->Mailer='smtp'; 

    try { 
    $mail->SMTPAuth = true;     // enable SMTP authentication 
    $mail->SMTPSecure = "tls";     // sets the prefix to the servier 
    $mail->Host  = "smtp.gmail.com";  // sets GMAIL as the SMTP server 
    $mail->Port  = 587;     // set the SMTP port for the GMAIL server 
    $mail->Username = "__email__"; // GMAIL username 
    $mail->Password = "__pass__";   // GMAIL password 
    $mail->SMTPDebug = 2; 

    $a = md5(uniqid(rand(), true)); //create a unique validation code 

    //These are the variables for the email 

    $mail->AddAddress (trim($_POST['email']),trim($_POST['username'])); // this is the email address collected form the form 
    $mail->Subject = "Registration"; // Subject 
    $mail->Body = "Thank you for registering\n your security code is ".$a; 
    $mail->Send(); 


    echo "check your email to complete registration"; 
    } catch (phpmailerException $e) { 
    echo $e->errorMessage(); //Pretty error messages from PHPMailer 
    } catch (Exception $e) { 
    echo $e->getMessage(); //Boring error messages from anything else! 
    } 

    $mail->ClearAddresses(); 

Update: Fand das Problem: das ist so ein Tag-und-ein-halb verschwendet Unser Server von Yahoo (nicht meine Schuld) die schwarze Liste gesetzt worden war.

+0

Sind Sie sicher, dass Sie nicht die E-Mails in einen Spam-Filter verfangen können Sie überprüfen, –

+0

ja ich als erstes überprüft überall keine Mails – JIStone

Antwort

0

Da es mit Gmail-Benutzern funktioniert, wäre mein Gast, dass einige phpMailer Ihren Benutzernamen und Ihr Passwort nicht richtig senden. Der Google Mail-Server akzeptiert keine Weiterleitung von E-Mails, wenn Sie nicht authentifiziert sind.

Eine Frage, warum verwenden Sie nicht Ihren eigenen E-Mail-Server, würde es helfen zu debuggen und zu wissen, warum die E-Mails nicht gesendet werden.

+0

keinen Grund, mit Ausnahme der Google Mail war ein das erste, was Ich musste zur Hälfte arbeiten ... Ich weiß, ich würde $ mail-> host zu localhost ändern, aber ich bin mir über nichts anderes sicher. – JIStone

+0

@JISstone: Ich denke, du solltest deinen eigenen Server benutzen Google Mail-Beschränkungen, aber ich Denken Sie daran, dass Ihre Verwendung eine Grenzlinie ist, und in dieser Situation haben Sie keine Möglichkeit, Protokolle zu überprüfen oder eingehende Fehler zu beheben. – RageZ

+0

Ja OK Ich suche nach Tutorials – JIStone

0

Anstelle von Google Mail empfehle ich Ihnen, Google App Engine's email service zu verwenden. Es macht all das schwere Heben für dich. Auch weil Google Mail ein Sende-Limit hat, während App-Engine viel höher ist. Es hat auch eine großzügige kostenlose Quote (1000 Empfänger/Tag.

Hier ist ein Beispiel für das Senden einer Nachricht von der aktuellen angemeldeten Benutzer mit der Anmeldung announced annotation, um den Benutzer auf die Anmeldeseite umleiten, wenn sie nicht sind Anmeldung:?..

from google.appengine.api import mail 
from google.appengine.api import users 
from google.appengine.ext import webapp 
from google.appengine.ext.webapp.util import login_required 

class InviteFriendHandler(webapp.RequestHandler): 
    @login_required 
    def post(self): 
     to_addr = self.request.get("friend_email") 
     if not mail.is_email_valid(to_addr): 
      # Return an error message... 
      pass 

     message = mail.EmailMessage() 
     message.sender = users.get_current_user().email() 
     message.to = to_addr 
     message.body = """ 
I've invited you to Example.com! 

To accept this invitation, click the following link, 
or copy and paste the URL into your browser's address 
bar: 

%s 
     """ % generate_invite_link(to_addr) 

     message.send() 
Verwandte Themen