2009-08-04 4 views
2

hat jemand Erfolg mit Google Mail SMTP-Servern? smtp.gmail.com zum Senden von E-Mails aus C++ - Code? ich kenne es mit Secure Layer, aber ich habe keine Ahnung, wie man einen solchen implementiert.Senden von E-Mails mit Google Mail SMTP (Secure Layer) in C++

+1

Eine Sache, die Sie wissen möchten, konnte ich (und ich habe in ähnlicher Weise von anderen hören) nie funktionieren auf Port 465. Mit Port 587, der andere in den GMail-Dokumenten aufgeführten Port scheint zu funktionieren. –

+0

kein Problem kann ich 587-Port verwenden, aber wie mein Code muss sicher sein Schicht unterstützen – user63898

Antwort

2

Dies ist, was ich früher, es war aber für Linux, es sollte Technisch

http://johnwiggins.net/jwsmtp/

Die Tutorials sind und straigt vorwärts

http://johnwiggins.net/jwsmtp/example1.html

auf Windows arbeiten

Hier ist ein Kopieren und Einfügen von der Website mit Ports und SMTP-Server. Kredit geht an John Wiggins

 jwsmtp::mailer mail(to.c_str(), 
        from.c_str(), 
        subject.c_str(), 
        mailmessage.c_str(), 
        smtpserver.c_str(), 
        jwsmtp::mailer::SMTP_PORT, 
        false); 

Um zu Authentifizieren

mail.username("loginname"); 
mail.password("secret"); 
mail.authtype(mailer::PLAIN); 

Derzeit nur LOGIN und PLAIN-Authentifizierung unterstützt, LOGIN standardmäßig zu EBENE einzustellen rufen Sie die authtype Funktion

+0

i c müssen ++ lib/code – user63898

+0

traurig es ist C++ – user63898

+0

ok ich die Quelle sah, in Quelle spielt es keine Authentifizierung unterstützen aber in der web site es geschrieben, dass es tut ... – user63898

1

Ihr ISP konnte blockiert den sicheren SMTP-Port.

Sie könnten versuchen, das gleiche in Thunderbird und überprüfen, dass der Port zuerst geöffnet ist.

+0

danke. Das ist ein bemerkenswerter Punkt. Ich sehe jedoch keinen Grund für sie zu blockieren. – Viet

0

Senden an GMail über SSL-Verbindung an Port 465 funktioniert und auf einfache Weise. Sie stellen eine Verbindung her, Sie tun SSL-Initialisierung/Handshake, senden dann EHLO Befehl und es ist der übliche Weg von dort. Sie benötigen außerdem eine Anmeldung oder einfache Authentifizierung mit dem Server, damit Ihre Nachrichten akzeptiert werden.