最近老在论坛里发现有人问DONET收发邮件的问题
而且搞很复杂...于是想把自己的一个精简版发出来一下,只写了一些收发的主要代码
发送邮件代码,引用了.net自带的内裤
配置web config文件
......
< system .net >
< mailSettings >
< smtp from ="sales@ut.net" >
< network host ="smtp.263xmail.com" password ="1234567" port ="25" userName ="sales@ut.net" defaultCredentials ="false" />
</ smtp >
</ mailSettings >
</ system.net >
</ configuration >
< system .net >
< mailSettings >
< smtp from ="sales@ut.net" >
< network host ="smtp.263xmail.com" password ="1234567" port ="25" userName ="sales@ut.net" defaultCredentials ="false" />
</ smtp >
</ mailSettings >
</ system.net >
</ configuration >
cs:
using
System.Net;
using System.Net.Mail;
...
public static void sendemail( string receiveEmail, string title, string content) // 收件人,标题,内容
... {
MailMessage mail = new MailMessage();
mail.To.Add(new MailAddress(receiveEmail)); //通过add可以添加收件人
mail.To.Add(new MailAddress("sales@ut.net"));
mail.Subject = title; //标题
mail.Body =content; //内容
Attachment myfile = new Attachment(FileUpload1.PostedFile.FileName); //添加附件
mail.Attachments.Add(myfile);
mail.Priority = MailPriority.High; //优先级
mail.SubjectEncoding = Encoding.UTF8; //编码格式
mail.IsBodyHtml = true; //设置邮件内容支持Html
SmtpClient client = new SmtpClient();
client.Send(mail);
}
using System.Net.Mail;
...
public static void sendemail( string receiveEmail, string title, string content) // 收件人,标题,内容
... {
MailMessage mail = new MailMessage();
mail.To.Add(new MailAddress(receiveEmail)); //通过add可以添加收件人
mail.To.Add(new MailAddress("sales@ut.net"));
mail.Subject = title; //标题
mail.Body =content; //内容
Attachment myfile = new Attachment(FileUpload1.PostedFile.FileName); //添加附件
mail.Attachments.Add(myfile);
mail.Priority = MailPriority.High; //优先级
mail.SubjectEncoding = Encoding.UTF8; //编码格式
mail.IsBodyHtml = true; //设置邮件内容支持Html
SmtpClient client = new SmtpClient();
client.Send(mail);
}
收邮件,.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;
}
....