asp.net 发送邮件组件

asp.net 发送邮件(Interop.jmail.dll)组件 Tuesday, 2011-1-25 10:15 — sunrui — 29using System; using System.Collections.Generic; using System.Web; using System.Net; using System.IO; using System.Net.Mail; using System.Threading; namespace FuZhongBase { /// ///SendMail 的摘要说明 /// public class Mail { public Mail() { // //TODO: 在此处添加构造函数逻辑 // } #region 电子邮件发送----------------------------------------------------------------------------- /// /// 群发邮件 /// /// 收件人地址(可以是多个地址用"|"/","/";"隔开) /// 邮件标题 /// 邮件内容 /// 是否是HTML邮件 /// 发件人地址 /// 发件人名称 /// 发件人邮箱密码 /// 发件人SMTP /// public static string SendMail(string strTo, string strTitle, string strBody, bool strIsHTML, string strFrom, string strLoginName, string strPassword, string strSMTP, string strFree) { string[] str = strTo.Split(new char[] { ',', ';', '|' }); string strCount = ""; MailMessage msg = new MailMessage(); msg.From = new MailAddress(strFrom, strLoginName, System.Text.Encoding.UTF8); /* 上面3个参数分别是发件人地址,发件人姓名,编码*/ msg.Subject = strTitle; //邮件标题 msg.SubjectEncoding = System.Text.Encoding.UTF8; //邮件标题编码 msg.Body = strBody; //邮件内容 msg.BodyEncoding = System.Text.Encoding.UTF8; //邮件内容编码 msg.IsBodyHtml = strIsHTML; //是否是HTML邮件 msg.Priority = MailPriority.High; //邮件优先级 SmtpClient client = new SmtpClient(); client.Credentials = new System.Net.NetworkCredential(strFrom, strPassword); client.Host = strSMTP; //client.Port = ""; client.DeliveryMethod = SmtpDeliveryMethod.Network; object userState = msg; for (int i = 0; i < str.Length - 1; i++) { msg.To.Add(str[i].ToString()); } try { System.Threading.Thread.Sleep(200); client.Send(msg); strCount = "发送成功"; } catch (SmtpException ex) { strCount = "发送失败"; } return strCount; } /// /// 邮件发送类(请先对Subject主题、 BodyText正文、toEmail收件箱赋值、EAddress邮件地址,Esmtp邮箱的smtp,Epass邮箱密码) /// /// */ public void SendMails(string ESubject, string EtoEmail, string EBodyText, string userName, string EAddress, string Esmtp, string Epass) { //把群发的邮件存入数组中 string toEmail = EtoEmail.Trim(); toEmail = toEmail.Replace(",", ","); toEmail = toEmail.Replace(" ", ","); toEmail = toEmail.Replace(" ", ","); toEmail = toEmail.Replace("|", ","); toEmail = toEmail.Replace("//", ","); toEmail = toEmail.Replace("、", ","); toEmail = toEmail.Replace("/", ","); string[] MtoEmail = toEmail.Split(','); try { for (int i = 0; i < MtoEmail.Length - 1; i++) { if (MtoEmail[i].Trim() != "") { Mails(ESubject, MtoEmail[i], EBodyText, userName, EAddress, Esmtp, Epass);//发送邮件 } } } catch { } } public static void Mails(string ESubject, string toEmail, string EBodyText, string userName, string EAddress, string Esmtp, string Epass) { try { MailMessage m_message = new MailMessage(); m_message.Subject = ESubject; m_message.SubjectEncoding = System.Text.Encoding.UTF8; m_message.Body = EBodyText; m_message.BodyEncoding = System.Text.Encoding.UTF8; m_message.IsBodyHtml = true; m_message.From = new MailAddress(EAddress); m_message.To.Add(new MailAddress(toEmail)); SmtpClient smtp = new SmtpClient(Esmtp); smtp.UseDefaultCredentials = true; smtp.Credentials = new System.Net.NetworkCredential(userName, Epass); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.Timeout = 10000; smtp.Send(m_message); } catch (Exception ee) { throw ee; } } #endregion #region 电子邮件发送,以网页形式----------------------------------------------------------------- /// /// 邮件发送类(请先对Subject主题、 url网址、toEmail收件箱赋值、EAddress邮件地址,Esmtp邮箱的smtp,Epass邮箱密码) /// /// */ public static bool SendMailsWeb(string ESubject, string EtoEmail, string url, string userName, string EAddress, string Esmtp, string Epass) { string toEmail = EtoEmail.Trim(); toEmail = toEmail.Replace(",", ","); toEmail = toEmail.Replace(" ", ","); toEmail = toEmail.Replace(" ", ","); toEmail = toEmail.Replace("|", ","); toEmail = toEmail.Replace("//", ","); toEmail = toEmail.Replace("、", ","); toEmail = toEmail.Replace("/", ","); string[] MtoEmail = toEmail.Split(','); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); System.IO.StreamReader sr = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8")); string mailContent = sr.ReadToEnd(); try { for (int i = 0; i < MtoEmail.Length; i++) { if (MtoEmail[i].Trim() != "") { Mails(ESubject, MtoEmail[i], mailContent, userName, EAddress, Esmtp, Epass); System.Threading.Thread.Sleep(500); } } return true; } catch { return false; } } #endregion /* 说明:sendEmail方法用来执行发送邮件功能,该方法无返回值。 参数:sender表示发件人,senderuser表示发件人姓名,euser表示发件人的邮箱登录名,epwd表示发件人的邮箱密码,   receiver表示收件人,subject表示邮件主题,body表示邮件内容,eserver表示发送邮件服务器。 */ public void sendEmail(string sender, string senderuser, string euser, string epwd, string receiver, string subject, string body, string eserver) { jmail.MessageClass jmMessage = new jmail.MessageClass(); jmMessage.Charset = "GB2312"; jmMessage.ISOEncodeHeaders = false; jmMessage.From = sender; jmMessage.FromName = senderuser; jmMessage.Subject = subject; jmMessage.MailServerUserName = euser; jmMessage.MailServerPassWord = epwd; jmMessage.AddRecipient(receiver, "", ""); //if (ddlAccessories.Items.Count > 0) //{ // for (int i = 0; i < ddlAccessories.Items.Count; i++) // { // string path = ddlAccessories.Items[i].Value; // jmMessage.AddAttachment(@path, true, ""); // } //} jmMessage.Body = body; if (jmMessage.Send(eserver, false)) { //return true; } else //return false; jmMessage = null; } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值