我正在使用此代码连接到Gmail。写入每个WriteLine()。所以大概一切正常吗?但是没有消息写入控制台。怎么了?这是我的代码:
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net.Security;
namespace RemoteControl
{
class MailClient
{
static void Main(string[] args)
{
try
{
// create an instance of TcpClient
Console.WriteLine("Connecting...");
TcpClient tcpclient = new TcpClient();
tcpclient.Connect("imap.gmail.com", 993);
SslStream sslstream = new SslStream(tcpclient.GetStream());
sslstream.AuthenticateAsClient("imap.gmail.com");
Console.WriteLine("Reached Gmail.");
StreamWriter sw = new StreamWriter(sslstream);
System.IO.StreamReader reader = new StreamReader(sslstream);
Console.WriteLine("Sending username.");
sw.WriteLine("USER [email protected]");
Console.WriteLine("Sending password.");
sw.WriteLine("PASS pass");
Console.WriteLine("Receiving Message.");
sw.WriteLine("RETR 1");
Console.WriteLine("Complete.");
tcpclient.Close(); // close the connection
Console.ReadLine();
}
catch (IOException e)
{
Console.WriteLine(e);
}
}
}
}
**根据我的理解,您希望使用C#阅读电子邮件。如果这是真的,我认为socket pop3是解决问题的不错选择。例如:**
using System.IO;
using System.Net.NetworkInformation;
using System.Net.Security;
using System.Net.Sockets;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// create an instance of TcpClient
TcpClient tcpclient = new TcpClient();
tcpclient.Connect("pop3.live.com", 995);
System.Net.Security.SslStream sslstream = new SslStream(tcpclient.GetStream());
sslstream.AuthenticateAsClient("pop3.live.com");
StreamWriter sw = new StreamWriter(sslstream);
System.IO.StreamReader reader = new StreamReader(sslstream);
sw.WriteLine("USER [email protected]"); sw.Flush();
sw.WriteLine("PASS xxxx****"); sw.Flush();
sw.WriteLine("RETR 1");
sw.Flush();
sw.WriteLine("Quit ");
sw.Flush();
string str = string.Empty;
string strTemp = string.Empty;
while ((strTemp = reader.ReadLine()) != null)
{
if (".".Equals(strTemp))
{
break;
}
if (strTemp.IndexOf("-ERR") != -1)
{
break;
}
str += strTemp;
}
Response.Write(str);
reader.Close();
sw.Close();
tcpclient.Close(); // close the connection
}
}