using System;
using System.Net.Mail;
using System.IO;
/// <summary>
/// Utilities 的摘要说明
/// </summary>
public static class Utilities
{
static Utilities()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//读取指定URL地址的HTML,用来以后发送网页用
public static string ScreenScrapeHtml(string url)
{
//读取stream并且对于中文页面防止乱码
StreamReader reader = new StreamReader(System.Net.WebRequest.Create(url).GetResponse().GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312"));
string str = reader.ReadToEnd();
reader.Close();
return str;
}
/// <summary>
/// 发送邮件
/// </summary>
/// <param name= "server "> smtp地址 </param>
/// <param name= "username "> 用户名 </param>
/// <param name= "password "> 密码 </param>
/// <param name= "from "> 发信人地址 </param>
/// <param name= "to "> 收信人地址 </param>
/// <param name= "subject "> 邮件标题 </param>
/// <param name= "body "> 邮件正文 </param>
/// <param name= "IsHtml "> 是否是HTML格式的邮件 </param>
public static void SendMail(string from, string to, string subject, string body, string server, string username, string password, bool IsHtml)
{
//设置SMTP 验证,端口默认为25,如果需要其他请修改
SmtpClient mailClient = new SmtpClient(server, 25);
//指定如何发送电子邮件。
//Network 电子邮件通过网络发送到 SMTP 服务器。
//PickupDirectoryFromIis 将电子邮件复制到挑选目录,然后通过本地 Internet 信息服务 (IIS) 传送。
//SpecifiedPickupDirectory 将电子邮件复制到 SmtpClient.PickupDirectoryLocation 属性指定的目录,然后由外部应用程序传送。
mailClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
//创建邮件对象
MailMessage mailMessage = new MailMessage(from, to, subject, body);
//定义邮件正文,主题的编码方式
mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");
mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
//获取或者设置一个值,该值表示电子邮件正文是否为HTML
mailMessage.IsBodyHtml = IsHtml;
//指定邮件的优先级
mailMessage.Priority = MailPriority.High; ;
/*
// //添加附件
//System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment(@ "f:/att.txt ");
if (strFileName != " " && strFileName != null)
{
Attachment data = new Attachment(strFileName);
mailMessage.Attachments.Add(data);
}
*/
//发件人身份验证,否则163 发不了
//表示当前登陆用户的默认凭据进行身份验证,并且包含用户名密码
mailClient.UseDefaultCredentials = true;
mailClient.Credentials = new System.Net.NetworkCredential(username, password);
//发送
mailClient.Send(mailMessage);
}
//发送plaintxt
public static void SendText(string from, string to, string subject, string body, string server, string username, string password)
{
SendMail(from, to, server, body, server, username, password, false);
}
//发送HTML内容
public static void SendHtml(string from, string to, string subject, string body, string server, string username, string password)
{
SendMail(from, to, server, body, server, username, password, true);
}
//发送指定网页
public static void SendWebUrl(string from, string to, string subject, string server, string username, string password, string url)
{
//发送指定网页
SendHtml(from, to, subject, ScreenScrapeHtml(url), server, username, password);
}
}
比较完善的asp.net2.0邮件发送类
本文转载:CSDN博客