最近老在论坛里发现有人问DONET收发邮件的问题
而且搞很复杂...于是想把自己的一个精简版发出来一下,只写了一些收发的主要代码
发送邮件代码,引用了.net自带的内裤
配置web config文件









cs:



















收邮件,.net自带有点费事,使用Jmail组件方便熟悉
安装Jmail,网上有下载,在项目添加jmail.dll引用(Jmail安装目标文件夹里)
using
jmail;
...
private DataTable reseEmail() // 返回一个记录所有邮件信息集合的DataTable
{
// 邮件对象
jmail.POP3Class popmail = new POP3Class();
// 邮件信息接口
Message mailMessage;
// 附件集接口
Attachments atts;
// 附件接口
Attachment att;
// DATATABLE 用于gridview数据绑定
DataTable tbmail = new DataTable();
DataColumn col1 = new DataColumn( " FromName " );
tbmail.Columns.Add(col1);
DataColumn col2 = new DataColumn( " FromMail " );
tbmail.Columns.Add(col2);
DataColumn col3 = new DataColumn( " Subject " );
tbmail.Columns.Add(col3);
DataColumn col4 = new DataColumn( " Priority " );
tbmail.Columns.Add(col4);
DataColumn col5 = new DataColumn( " Size " );
tbmail.Columns.Add(col5);
DataColumn col6 = new DataColumn( " Content " );
tbmail.Columns.Add(col6);
DataColumn col7 = new DataColumn( " Att " );
tbmail.Columns.Add(col7);
try
{
popmail.Connect( " sales@ut.net " , " 1234567 " , " pop.263xmail.com " , 110 ); // 邮箱用户名,密码,pop3,端口
if (popmail.Count > 0 ) // 是否有邮件
{
for ( int i = 1 ; i < popmail.Count; i ++ )
{
mailMessage = popmail.Messages[i]; // 取一条邮件信息
atts = mailMessage.Attachments; // 取附件集合
mailMessage.Charset = " GB2312 " ;
mailMessage.Encoding = " Base64 " ;
mailMessage.ISOEncodeHeaders = false ;
DataRow myrow = tbmail.NewRow();
tbmail.Rows.Add(myrow);
myrow[ " Priority " ] = mailMessage.Priority.ToString();
myrow[ " FromName " ] = mailMessage.From;
myrow[ " Subject " ] = mailMessage.Subject;
myrow[ " Content " ] = mailMessage.Body;
myrow[ " Size " ] = mailMessage.Size.ToString();
if (atts.Count > 0 ) // 这里只处理一个附件
{
att = atts[ 0 ]; // 取得附件
string attname = att.Name;
att.SaveToFile(Page.MapPath( @" eFiles " ) + attname);
myrow[ " Att " ] = att.Name.ToString();
}
}
att = null ;
atts = null ;
}
else
{
Label1.Text = " 没有邮件 " ;
}
}
catch (Exception ex)
{
Label1.Text = ex.ToString();
}
return tbmail;
}
....
...
private DataTable reseEmail() // 返回一个记录所有邮件信息集合的DataTable
{
// 邮件对象
jmail.POP3Class popmail = new POP3Class();
// 邮件信息接口
Message mailMessage;
// 附件集接口
Attachments atts;
// 附件接口
Attachment att;
// DATATABLE 用于gridview数据绑定
DataTable tbmail = new DataTable();
DataColumn col1 = new DataColumn( " FromName " );
tbmail.Columns.Add(col1);
DataColumn col2 = new DataColumn( " FromMail " );
tbmail.Columns.Add(col2);
DataColumn col3 = new DataColumn( " Subject " );
tbmail.Columns.Add(col3);
DataColumn col4 = new DataColumn( " Priority " );
tbmail.Columns.Add(col4);
DataColumn col5 = new DataColumn( " Size " );
tbmail.Columns.Add(col5);
DataColumn col6 = new DataColumn( " Content " );
tbmail.Columns.Add(col6);
DataColumn col7 = new DataColumn( " Att " );
tbmail.Columns.Add(col7);
try
{
popmail.Connect( " sales@ut.net " , " 1234567 " , " pop.263xmail.com " , 110 ); // 邮箱用户名,密码,pop3,端口
if (popmail.Count > 0 ) // 是否有邮件
{
for ( int i = 1 ; i < popmail.Count; i ++ )
{
mailMessage = popmail.Messages[i]; // 取一条邮件信息
atts = mailMessage.Attachments; // 取附件集合
mailMessage.Charset = " GB2312 " ;
mailMessage.Encoding = " Base64 " ;
mailMessage.ISOEncodeHeaders = false ;
DataRow myrow = tbmail.NewRow();
tbmail.Rows.Add(myrow);
myrow[ " Priority " ] = mailMessage.Priority.ToString();
myrow[ " FromName " ] = mailMessage.From;
myrow[ " Subject " ] = mailMessage.Subject;
myrow[ " Content " ] = mailMessage.Body;
myrow[ " Size " ] = mailMessage.Size.ToString();
if (atts.Count > 0 ) // 这里只处理一个附件
{
att = atts[ 0 ]; // 取得附件
string attname = att.Name;
att.SaveToFile(Page.MapPath( @" eFiles " ) + attname);
myrow[ " Att " ] = att.Name.ToString();
}
}
att = null ;
atts = null ;
}
else
{
Label1.Text = " 没有邮件 " ;
}
}
catch (Exception ex)
{
Label1.Text = ex.ToString();
}
return tbmail;
}
....