一。邮件收取
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
//连接邮件服务器
POP3_Client pop3 = new POP3_Client()
//与Pop3服务器建立连接
pop3.Connect(POP3Address, POP3Port, false);
//验证身份
pop3.Authenticate(AccountName,Password, false);
string messageID =“”;//保存邮件UID
if (pop3.Messages.Count > 0)//如果有邮件
{
foreach (POP3_ClientMessage mail in pop3.Messages)
{
if (!MessageID.Contains(mail.UID))
{
//接收邮件
Mime m = Mime.Parse(mail.MessageToByte());//邮件信息
}
messageID = messageID + ",'" + mail.UID + "'";
}
}
//附件的处理
foreach (MimeEntity mime in m.MimeEntities)
{
string con = m.MimeEntities[i].ContentType.ToString();
if (!new Regex("Multipart*").Match(con).Success && !new Regex("Text*").Match(con).Success)
{
string m=m.MimeEntities[i].ContentDisposition_FileName ;//附件名称
//保存附件
Response.ContentType = mime.ContentTypeString.Substring(0, mime.ContentTypeString.IndexOf(';'));
Response.AddHeader("Content-Disposition", "attachment;filename=" + m);
Response.BinaryWrite(mime.Data);
Response.Flush();
Response.Clear();
Response.End();
}
}
//乱码的处理
string function(string code)
{
string[] code = mime.ContentType_Name.Split('?');
byte[] bytes = Convert.FromBase64String(code[3]);
return Encoding.GetEncoding(code[1]).GetString(bytes);
}
二。邮件发送
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
MailMessage message = new MailMessage();//实例化一个邮件类,。net自己的
message.From = new MailAddress(“Email_From”,"*……%¥#……");
//收件方看到的邮件来源;
//第一个参数是发信人邮件地址
//第二参数是发信人显示的名称
//第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码
//936是简体中文的codepage值
message.To.Add(new MailAddress(sTo));//可以发送给多人
message.Subject = Title;//邮件主题
message.Body = Content;//邮件内容
message.IsBodyHtml = true;
//附件处理
message.Attachments.Add(new Attachment(“附件路径"));
message.ReplyTo = new MailAddress(ReplyAddress,ReplyUName);//回复地址和名称
SmtpClient smtpClient = new SmtpClient();//实例化一个SmtpClient
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//将smtp的出站方式设为 Network
smtpClient.EnableSsl = false;//smtp服务器是否启用SSL加密
smtpClient.Host = SMTPAddress; //指定 smtp 服务器地址
smtpClient.Port = MB_SMTPPort;//指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去
smtpClient.UseDefaultCredentials = true;//SMTP服务器需要身份认证
smtpClient.Credentials = new System.Net.NetworkCredential(AccountName, Password);
smtpClient.Send(message);////发送邮件,如果不返回异常, 则大功告成了。