支持附件(前提是妳在類裏面打開設置)默認我關閉了。
支持發送HTML,其實很簡單壹個標誌位而已
支持制定URL的內容也很簡單用壹個WebRequest取得HTML,然後通過發送HTML發送。
支持PLAINTXT當然更加簡單,下面就是用到的類,妳可以考慮下編譯成DLL,不過偶不是很喜歡,查起來麻煩。
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)
{
StreamReader reader = new StreamReader(System.Net.WebRequest.Create(url).GetResponse().GetResponseStream());
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 驗證
SmtpClient mailClient =new SmtpClient(SiteConfiguration.MailServer);
//表示當前登陸用戶的默認憑據進行身份驗證,並且包含用戶名密碼
mailClient.UseDefaultCredentials = true;
mailClient.Credentials = new System.Net.NetworkCredential(username, password);
//指定如何發送電子郵件。
//Network 電子郵件通過網絡發送到 SMTP 服務器。
//PickupDirectoryFromIis 將電子郵件復制到挑選目錄,然後通過本地 Internet 信息服務 (IIS) 傳送。
//SpecifiedPickupDirectory 將電子郵件復制到 SmtpClient.PickupDirectoryLocation 屬性指定的目錄,然後由外部應用程序傳送。
client.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.Normal;
/*
// //添加附件
//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 發不了
client.Credentials = new System.Net.NetworkCredential(strFrom, 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, 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, username, password, true);
}
//發送制定網頁
public static void SendWebUrl(string from, string to, string subject, string body, string server, string username, string password,string url)
{
//發送制定網頁
SendHtml(from, to, subject, ScreenScrapeHtml(url), server, username, password);
}
}