2010-07-14 253 views
4

我試圖從我的應用程序發送電子郵件。 我可以通過smtp.mail.yahoo.com發送電子郵件,但是當我嘗試使用Gmail(smtp.gmail.com)發送電子郵件時,它失敗。CF.NET SMTP - 使用Gmail發送電子郵件

我正在使用SocketPro。

我已經嘗試使用openSSL,但我不知道如何使用它!

任何你有任何代碼示例,你可以提供給我,從Gmail發送電子郵件?

我有以下幾點:

USocketClass m_ClientSocket; 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("EHLO smtp.gmail.com \r\n")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("AUTH LOGIN")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("\r\n")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes(EncodeTo64(myUser))); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("\r\n")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes(EncodeTo64(myPass))); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("\r\n")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("MAIL FROM: <[email protected]>")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("\r\n")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("RCPT TO: <[email protected]>")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("\r\n")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("DATA")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("\r\n")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("From: <[email protected]>")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("To: <[email protected]>")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("Subject: Test subject")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("My body test")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes(".")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("\r\n")); 
m_ClientSocket.Send(Encoding.UTF8.GetBytes("QUIT")); 

你能幫助我嗎?

謝謝。

安德魯

回答

1

爲什麼不使用.NET SMTP客戶端? (在System.Net.Mail命名空間中)

 SmtpClient client = new SmtpClient(); 
     client.Credentials = new System.Net.NetworkCredential("username", "password"); 
     client.Host = "some.smtpserver.com"; 
     client.Send(from, to, subject, body);