C# 用 SMPT 发送邮件
2009-09-05 11:11
281 查看
/*************************************************************************** * Created: 2009-9-4 * NameSpace: OLEMS.Model * Filename: EmailInfo.cs * Author: Liangyy * Version: 1.0 * Description: Defined The EmailInfo *****************************************************************************/ using System; using System.Net.Mail; namespace Model { public class EmailInfo { ///////////////////////////////////////////////////////////////////// #region Private Fields /// <summary> /// Definite the HostEmail . /// </summary> private string sendFromEmail; /// <summary> /// Definite the HostEmail's password . /// </summary> private string sendFromPwd; /// <summary> /// Definite the ClientEmail. /// </summary> private string sendToEmail; /// <summary> /// Definite the Email's Theme. /// </summary> private string subject; /// <summary> /// Definite the Email's Content. /// </summary> private string content; /// <summary> /// Definite the HostEmail's Server Device. /// </summary> private string smtpServer; /// <summary> /// Definite the HostEmail's Server Port. /// Port=25. /// </summary> private int smtpPort; #endregion ///////////////////////////////////////////////////////////////////// #region Pubicl Property /// <summary> /// Definite the HostEmail . /// </summary> public string SendFromEmail { get { return sendFromEmail; } set { sendFromEmail = value; } } /// <summary> /// Definite the HostEmail's password . /// </summary> public string SendFromPwd { get { return sendFromPwd; } set { sendFromPwd = value; } } /// <summary> /// Definite the ClientEmail. /// </summary> public string SendToEmail { get { return sendToEmail; } set { sendToEmail = value; } } /// <summary> /// Definite the Email's Theme. /// </summary> public string Subject { get { return subject; } set { subject = value; } } /// <summary> /// Definite the Email's Content. /// </summary> public string Content { get { return content; } set { content = value; } } /// <summary> /// Definite the HostEmail's Server Device. /// </summary> public string SmtpServer { get { return smtpServer; } set { smtpServer = value; } } /// <summary> /// Definite the HostEmail's Server Port. /// Port=25. /// </summary> public int SmtpPort { get { return smtpPort; } set { smtpPort = value; } } #endregion } } /*************************************************************************** * Created: 2009-9-4 * NameSpace: OLEMS.Model * Filename: EmailInfo.cs * Author: Liangyy * Version: 1.0 * Description: Defined The EmailInfo *****************************************************************************/ using System; using System.Net.Mail; using Model; namespace DAL { /// <summary> /// 发送邮件 /// </summary> public class DAL_SendEmail { /// <summary> /// 发送邮件 /// </summary> /// <param name="emailInfo"></param> /// <returns></returns> public bool SendEmailMsg(EmailInfo emailInfo) { MailMessage eMailMsg = new MailMessage(emailInfo.SendFromEmail, emailInfo.SendToEmail); try { // 邮件主题 eMailMsg.Subject = emailInfo.Subject; // 邮件内容 eMailMsg.Body = emailInfo.Content; // 内容格式 eMailMsg.IsBodyHtml = false; // 内容编码 eMailMsg.BodyEncoding = System.Text.Encoding.Default; // 优先级为高 eMailMsg.Priority = MailPriority.High; // 使用的服务器和服务端口 SmtpClient client = new SmtpClient(emailInfo.SmtpServer, emailInfo.SmtpPort); // 发送者的邮件地址和密码 client.Credentials = new System.Net.NetworkCredential(emailInfo.SendFromEmail, emailInfo.SendFromPwd); // 发送邮件 client.Send(eMailMsg); return true; } catch (Exception err) { Console.Write(err.Message); return false; } finally { // 释放资源 eMailMsg.Dispose(); } } #region /// <summary> /// 发送邮件 /// </summary> /// <param name="sendfrom"></param> /// <param name="sendfrompwd"></param> /// <param name="sendto"></param> /// <param name="subject"></param> /// <param name="body"></param> /// <param name="smtpserver"></param> /// <param name="smtport"></param> /// <returns></returns> public bool SendMailMsg_WithArgs(string sendfrom, string sendfrompwd, string sendto, string subject, string body, string smtpserver, int smtport) { MailMessage sendMsg = new MailMessage(sendfrom, sendto); try { // 邮件主题 sendMsg.Subject = subject; // 邮件内容 sendMsg.Body = body; // 内容格式 sendMsg.IsBodyHtml = false; // 内容编码 sendMsg.BodyEncoding = System.Text.Encoding.Default; // 使用的服务器和服务端口 SmtpClient client = new SmtpClient(smtpserver, smtport); // 发送者的邮件地址和密码 client.Credentials = new System.Net.NetworkCredential(sendfrom, sendfrompwd); // 发送邮件 client.Send(sendMsg); return true; } catch (Exception err) { //Response.Write(err.Message.ToString()); return false; } finally { // 释放资源 sendMsg.Dispose(); } } #endregion } } /// <summary> /// 发布考试信息(发送邮件的同时,把考试状态改为已发布)?? /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSendExamination_Click(object sender, EventArgs e) { StringBuilder strToEmail = new StringBuilder(); // 发送人 UI_emailInfo.SendFromEmail = txtFromEmai.Text; // 发送人密码 UI_emailInfo.SendFromPwd = txtFromPwd.Text; // 主题 UI_emailInfo.Subject = txtTheme.Text; // 内容 UI_emailInfo.Content = txtConcont.Text; // 选中的老师邮箱(遍历) foreach (GridViewRow row in grdvTeacherList.Rows) { if (((CheckBox)row.FindControl("teacherEmail")).Checked) 4000 { // 教师邮箱 UI_teacherInfo.TeacherEmail = ((CheckBox) row.FindControl("teacherEmail")).Text; strToEmail.Append(UI_teacherInfo.TeacherEmail+","); } } string[] arrEmailSender = UI_emailInfo.SendFromEmail.Split(new char[] { '@', '.' }); // smtp.126.com 服务器 UI_emailInfo.SmtpServer = "smtp." + arrEmailSender[1] + ".com"; // 25端口 UI_emailInfo.SmtpPort = 25; // 群发的邮箱数组 string[] arrToEmail = strToEmail.ToString().Substring(0, strToEmail.Length - 1).Split(Convert.ToChar(",")); // 遍历邮箱数组,分开发送给接收者 foreach (string s in arrToEmail) { // 接收者的邮箱 UI_emailInfo.SendToEmail = s; // 发送邮件 if (dal_SendEmail.SendEmailMsg(UI_emailInfo)) { Response.Write("发送成功:"+s+"<BR/>"); } else { Page.ClientScript.RegisterStartupScript(Page.GetType(), "key", "alert('可能邮箱地址有误 ');", true); } } }
相关文章推荐
- .net邮件发送[c#]
- 这段发c#邮件的代码怎么在自己机器上调试时怎么经常发送不了邮件啊
- C#发送邮件异常,返回信息乱码
- C# Winform 发送邮件
- C#发送邮件C/s,B/s通用
- C#发送Email邮件的方法解析
- PHP 利用SMPT服务器发送邮件 无需自己配置服务器
- C#发送邮件代码
- C#发送邮件!
- wince环境中用C#发送邮件(使用OpenNETCF.Net.Mail)
- C# 带附件邮件发送(支持多附件)
- c#邮件发送
- C# - MailSender 邮件发送组件源代码 (支持ESMTP, 附件)
- C# SMTP邮件发送 分类: C# 2014-07-13 19:10 333人阅读 评论(1) 收藏
- C# 发送邮件(内容中可以插入图片,邮件可以添加附件,163邮箱、QQ邮箱等都可以使用)
- GODADDY邮箱C#发送邮件设置
- C#发送邮件代码
- C# 发送Gmail邮件(已测试过)
- C#发送邮件
- C#利用System.Net发送邮件(带 抄送、密送、附件、html格式的邮件)