📄 form1.cs
字号:
#region 程序说明
/************************************************************
* 程序名称:GetEmail
* 功能说明:接收邮件,直接按“接收”按钮,可完成邮件的接收操作,参数设置由系统变量指定,不在文本框中输入。
*
* 创 建 者:李高峰
* 创建日期:2009-2-15
*
* 修 订 者:李高峰
* 修订日期:2009-3-13
* 修订内容:btnRec_Click(object sender, EventArgs e)事件中的邮箱密码项屏蔽了,
* 在使用本程序接收邮件时,应输入用户名称和对应的密码
*
* 主要事件和方法:
* 1)ReciveMail(string mailname, string mailpwd, string paths):接收邮件以及获取邮件信息
* 2)btnRec_Click(object sender, EventArgs e):使用上面方法接收邮件
************************************************************/
#endregion
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using jmail;
namespace GetEmail
{
public partial class Form1 : Form
{
private string _mailName;
private string _mailPwd;
private string _paths;
public Form1()
{
InitializeComponent();
}
#region 接收邮件方法
/// <summary>
/// 利用JMAIl接收邮件
/// </summary>
/// <param name="mailname">邮箱用户名称</param>
/// <param name="mailpwd">邮箱密码</param>
/// <param name="paths">路径</param>
public static void ReciveMail(string mailname, string mailpwd, string paths)
{
//建立收邮件对象
jmail.POP3Class popMail = new jmail.POP3Class();
//建立邮件信息接口
jmail.Message mailMessage;
//建立附件集接口
jmail.Attachments atts;
//建立附件接口
jmail.Attachment att;
//获取POP服务器
//string pop="pop."+mailname.Substring(mailname.IndexOf("@")+1);
string pop = "pop3.163.com";
try
{
//连接POP3服务器
popMail.Connect(mailname, mailpwd, pop, 110);
if (0 < popMail.Count)
{
for (int i = 1; i <= popMail.Count; i++)
{
mailMessage = popMail.Messages[i];
atts = mailMessage.Attachments;
mailMessage.Charset = "GB2312";
mailMessage.Encoding = "Base64";
mailMessage.ISOEncodeHeaders = false;
//优先级别
string poptity = mailMessage.Priority.ToString();
//发送人
string senders = mailMessage.FromName.ToString();
//发送人邮件地址
string sendmail = mailMessage.From.ToString();
//主题
string subject = mailMessage.Subject.ToString();
//内容
string body = mailMessage.Body.ToString();
//发送日期
string date = mailMessage.Date.ToString();
string size = mailMessage.Size.ToString();
for (int j = 0; j < atts.Count; j++)
{
if (j == 0)
{
//取得附件名称
att = atts[j];
/**/
/**/
/**/
///附件名称
string attname = att.Name;
// int k = attname.LastIndexOf(".");
// string time = DateTime.Now.ToString();
// time = time.Replace("-","");
// time = time.Replace(" ","");
// time = time.Replace(":","");
// attname = attname.Insert(attname.LastIndexOf("."),"-"+time);
// /**////上传到服务器
//path="D:\\Mail\\mailre\\"+attname;
string all = paths + "\\attFile\\";
string path = all + attname;
DirectoryInfo dir = new DirectoryInfo(all);
if (dir.Exists)
{
att.SaveToFile(path);
}
else
{
dir.Create();
att.SaveToFile(path);
}
}
}
popMail.DeleteSingleMessage(i);//删除邮件
}
att = null;
atts = null;
popMail.Disconnect();
popMail = null;
}
else
{
//num1 = 0;
att = null;
atts = null;
popMail.Disconnect();
popMail = null;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
MessageBox.Show("接收成功!");
}
}
#endregion
private void btnRec_Click(object sender, EventArgs e)
{
//收件人邮箱名称,格式为形式"ligaofeng0927@163.com"
_mailName = "ligaofeng0927@163.com";
//收件人邮箱密码
_mailPwd = "";
//保存附件路径
_paths = "E:";
Form1.ReciveMail(_mailName, _mailPwd, _paths);
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -