您的位置:首页 > 编程语言 > C#

C#发送邮件代码

2015-06-23 08:31 453 查看
using System;

using System.Net;

using System.Net.Mail;

using System.Net.Mime;

namespace Fish

{

/**//// <summary>

/// 发送邮件的类

/// </summary>

public class SendMail

{

private MailMessage mailMessage;

private SmtpClient smtpClient;

private string password;//发件人密码

/**//// <summary>

/// 处审核后类的实例

/// </summary>

/// <param name="To">收件人地址</param>

/// <param name="From">发件人地址</param>

/// <param name="Body">邮件正文</param>

/// <param name="Title">邮件的主题</param>

/// <param name="Password">发件人密码</param>

public SendMail(string To, string From, string Body, string Title, string

Password)

{

mailMessage = new MailMessage();

mailMessage.To.Add(To);

mailMessage.From = new System.Net.Mail.MailAddress(From);

mailMessage.Subject = Title;

mailMessage.Body = Body;

mailMessage.IsBodyHtml = true;

mailMessage.BodyEncoding = System.Text.Encoding.UTF8;

mailMessage.Priority = System.Net.Mail.MailPriority.Normal;

this.password = Password;

}

/**//// <summary>

/// 添加附件

/// </summary>

public void Attachments(string Path)

{

string[] path = Path.Split(',');

Attachment data;

ContentDisposition disposition;

for (int i = 0; i < path.Length; i++)

{

data = new Attachment(path[i], MediaTypeNames.Application.Octet);//实例化

附件

disposition = data.ContentDisposition;

disposition.CreationDate = System.IO.File.GetCreationTime(path[i]);//获取

附件的创建日期

disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]);//

获取附件的修改日期

disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]);//获取附

件的读取日期

mailMessage.Attachments.Add(data);//添加到附件中

}

}

/**//// <summary>

/// 异步发送邮件

/// </summary>

/// <param name="CompletedMethod"></param>

public void SendAsync(SendCompletedEventHandler CompletedMethod)

{

if (mailMessage != null)

{

smtpClient = new SmtpClient();

smtpClient.Credentials = new System.Net.NetworkCredential

(mailMessage.From.Address, password);//设置发件人身份的票据

smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

smtpClient.Host = "smtp." + mailMessage.From.Host;

smtpClient.SendCompleted += new SendCompletedEventHandler

(CompletedMethod);//注册异步发送邮件完成时的事件

smtpClient.SendAsync(mailMessage, mailMessage.Body);

}

}

/**//// <summary>

/// 发送邮件

/// </summary>

public void Send()

{

if (mailMessage != null)

{

smtpClient = new SmtpClient();

smtpClient.Credentials = new System.Net.NetworkCredential

(mailMessage.From.Address, password);//设置发件人身份的票据

smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

smtpClient.Host = "smtp." + mailMessage.From.Host;

smtpClient.Send(mailMessage);

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: