CF.NET SMTP - 使用Gmail发送电子邮件

4
我正在尝试从我的应用程序发送电子邮件。我可以通过smtp.mail.yahoo.com发送电子邮件,但是当我尝试使用gmail (smtp.gmail.com)发送电子邮件时失败了。
我正在使用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: <aaa@gmail.com>"));
m_ClientSocket.Send(Encoding.UTF8.GetBytes("\r\n"));
m_ClientSocket.Send(Encoding.UTF8.GetBytes("RCPT TO: <bbbbb@gmail.com>"));
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: <aaa@gmail.com>"));
m_ClientSocket.Send(Encoding.UTF8.GetBytes("To: <bbbbb@gmail.com>"));
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"));

你能帮我吗?

谢谢。

安德鲁

2个回答

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);

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接