最新消息:因从typecho切换到wordpress, 由于转换导入问题,文章可能存在部分乱码或者排版问题,逐个排查修复中...

写写代码:C# 用 IMAP 收邮件

写写代码 admin 823浏览 0评论

C# 用 IMAP 收邮件

说到邮件收发的类,很多人都会介绍(推荐)我用LumiSoft.Net.dll这个类库。
但是谷歌了下,找的代码有的是说POP3收邮件,又不好用,有的还是过时的。很纠结。
对于我的简单需求,只要利用IMAP读取邮件(用来收激活邮件),就显得复杂了。
最后找到了另外一个IMAP收发邮件的类库,S22.IMAP,方便易用。
(S22.IMAP下载地址:
http://www.xiagegou.com/others/s22-imap-dll.html
http://pan.baidu.com/s/1032Rt )

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using S22.Imap;

namespace _163pop3
{
	public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
		}

		private void Form1_Load(object sender, EventArgs e)
		{

		}
		/*
	*   
	*  http://xiagegou.com
	*  By im0khu    
	*  C#利用IMAP收邮件
	*  首发oschina.net 转载请注明出处    
	*/
		private void btnFetch_Click(object sender, EventArgs e)
		{
			  
			string ImapServer = "imap.163.com";
			string ImapUserame = "xiagegou_com";
			string ImapPwd = "password2013";
			ImapClient imap = new ImapClient(ImapServer, 993, true);

			try
			{
				imap.Login(ImapUserame, ImapPwd, AuthMethod.Login);
				uint[] uids = imap.Search(SearchCondition.Subject("This's a test email"));
			   // uint[] uids = imap.Search(SearchCondition.From("service@oschina.net"));
			   // 也可以使用通过其它条件进行检索你的邮件
			   if (uids.Length > 0)
				{
					System.Net.Mail.MailMessage msg = imap.GetMessage(uids[0]);
					emailLst.Items.Add("Subject: " + msg.Subject);
					emailBody.Text = msg.Body;                   

				}
				else
				{
					emailLst.Items.Add("没有你要找的邮件");
				}
				imap.Dispose();

			}
			catch (InvalidCredentialsException)
			{
				MessageBox.Show("服务器拒绝连接,可能密码错误!");
				imap.Dispose();
			}

			 
	   }
	}
}

转载请注明:Linc Hu » 写写代码:C# 用 IMAP 收邮件

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址