2009-08-04 117 views
2

沒有任何人成功與Gmail的SMTP服務器? smtp.gmail.com 從C++代碼發送電子郵件? 我知道它使用安全層,但我不知道如何實現這樣一個。用c + +發送電子郵件與Gmail Gmail(安全層)

+1

有一件事你可能想知道,我(我聽說過類似於其他人)永遠無法使它在端口465上工作。使用端口587,這是GMail文檔中列出的另一個端口似乎工作。 – 2009-08-04 08:06:54

+0

沒問題我可以使用587端口,但我的代碼需要如何支持安全層 – user63898 2009-08-04 10:29:42

回答

2

這是我用的東西,這是爲Linux,雖然,它應該在Windows技術上工作

http://johnwiggins.net/jwsmtp/

的教程在那裏,straigt前鋒

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

這是從顯示端口和SMTP服務器的站點進行復制和粘貼。幸得約翰·威金斯

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

要默認驗證

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

目前只有LOGIN和PLAIN驗證支持,LOGIN, 設置爲純調用的authType功能

+0

我需要C++ lib /代碼 – user63898 2009-08-04 10:33:07

1

您的ISP可能阻止安全的SMTP端口。

您可以在Thunderbird中嘗試相同的方法,並驗證端口是否首先打開。

0

通過端口465上的SSL連接發送到GMail確實有效,並且工作簡單明瞭。你建立連接,你做SSL初始化/握手,然後發送EHLO命令,這是通常的方式。您還需要使用服務器的登錄或簡單身份驗證來使其接受您的消息。