如何使用C#访问POP3服务器
来源:互联网 发布:淘宝dota2饰品回收流程 编辑:程序博客网 时间:2024/04/28 02:52
//希望通过这篇文章,你可以用C#写出自己的Email客户端程序
This is a follow up to my SMTP example that shows how to access your POP3 server. This program connects and logs on to your POP3 server, and checks to see how many new messages you have.
The instantiation of the POP is in Main() like this:
POP pop = new POP("pop-server", "loginname", "password"); You must replace "pop-server" with the name of your POP server, "loginname" with your own log in, and "password" with your password. The class has two methods. The Connect method takes care of actually logging in to the server. The TCPClient class is used to establish the connection. The "user" and "pass" commands are used to login. Connect returns a NetworkStream object created during the connection process. The second method is GetNumberOfNewMessages, which returns the number of unread messages on the server. The response to the "stat" command is parsed to extract the number of new messages.
Requirement:
Requires .NET SDK
How To Compile?
csc /r:System.Net.dll /r:System.IO.dll pop.cs
Source Code
using System.Net.Sockets;
using System.IO;
using System.Net;
using System;
class POP
{
string POPServer;
string user;
string pwd;
public POP(){}
public POP(string server, string _user, string _pwd)
{
POPServer = server;
user = _user;
pwd = _pwd;
}
private NetworkStream Connect()
{
TCPClient sender = new TCPClient(POPServer,110);
Byte[] outbytes;
string input;
NetworkStream ns = null;
try{
ns = sender.GetStream();
StreamReader sr = new StreamReader(ns);
Console.WriteLine(sr.ReadLine() );
input = "user " + user + "rn";
outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray());
ns.Write(outbytes,0,outbytes.Length) ;
Console.WriteLine(sr.ReadLine() );
input = "pass " + pwd + "rn";
outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray());
ns.Write(outbytes,0,outbytes.Length) ;
Console.WriteLine(sr.ReadLine() );
return ns;
}
catch(InvalidOperationException ioe){
Console.WriteLine("Could not connect to mail server");
return ns;
}
}
public int GetNumberOfNewMessages()
{
Byte[] outbytes;
string input;
try{
NetworkStream ns = Connect();
StreamReader sr = new StreamReader(ns);
input = "stat" + "rn";
outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray());
ns.Write(outbytes,0,outbytes.Length);
string resp = sr.ReadLine();
Console.WriteLine(resp);
string[] tokens = resp.Split(new Char[] {' '});
input = "quit" + "rn";
outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray());
ns.Write(outbytes,0,outbytes.Length);
Console.WriteLine(sr.ReadLine());
sr.Close();
ns.Close();
return tokens[1].ToInt32();
}
catch(InvalidOperationException ioe){
Console.WriteLine("Could not connect to mail server");
return 0;
}
}
public static void Main()
{
POP pop = new POP("pop-server", "loginname", "password");
Console.WriteLine("New Messages = {0}", pop.GetNumberOfNewMessages() );
Console.ReadLine();
}
}
- 如何使用C#访问POP3服务器
- 如何使用C#访问POP3服务器(英文)
- 如何使用C#访问POP3服务器(转)
- c#使用pop3服务器进行邮箱验证
- C#使用POP3接收电子邮件
- 用C#从POP3服务器取得邮件
- 使用C#开发读取POP3邮件程序
- 如何使用ssh工具访问Linux服务器
- pyhon使用http代理服务器和POP3、SMTP邮件服务器
- pyhon使用http代理服务器和POP3、SMTP邮件服务器
- 局域网使用系统自带POP3服务搭建邮件服务器
- 使用C#开发HTTP服务器系列之访问主页
- 邮箱服务器(一) 简介和cmd访问smpt和pop3服务器
- Visual C#使用PoP3协议构建客户端邮件接收程序
- C#使用socket实现FTP、POP3、SMTP的客户端 (一)
- C#使用socket实现FTP、POP3、SMTP的客户端 (二)
- C#使用socket实现FTP、POP3、SMTP的客户端 (三)
- Java实现POP3服务器
- ASP实现播放Flash的例子
- Standby Database
- CCS“探针”使用的数据文件格式
- 五一坝上骑马
- 利用global.asp定时执行ASP
- 如何使用C#访问POP3服务器
- ASP+XML实现网页“本地化”
- 頭文字D旗下網站
- D3DXMatrixPerspectiveFovLH理解
- 博客开张
- 网页布局理念
- 一些基本的东西
- 欧盟批准德国开发下一代搜索引擎 欲挑战谷歌
- Basic Syntax基本语法