C#发送Email的方法
来源:互联网 发布:风驰网络加速器官网 编辑:程序博客网 时间:2024/05/01 07:38
/// <summary> /// 发送邮件 不带有附件 /// </summary> /// <param name="from">发件人Email</param> /// <param name="password">发件人密码</param> /// <param name="to">接收人</param> /// <param name="cc">抄送</param> /// <param name="fileList">邮件附件 System.Web.HttpFileCollection fileList,</param> /// <param name="smtpServer">SmtpServer</param> /// <param name="subject">Email标题</param> /// <param name="content">邮件内容</param> public void SendMsg(string from, string password, List<string> to, List<string> cc, string smtpServer, string subject, string content) { try { #region 邮件服务器以及发送设置 //指定发送邮件的服务器 SmtpClient SClient = new SmtpClient(smtpServer); //System.Net.CredentialCache.DefaultCredentials(获取应用程序的系统凭据) 是否与请求一起发送 SClient.UseDefaultCredentials = false; //验证Email账户密码 SClient.Credentials = new NetworkCredential(from, password); //指定邮件发送方式 SClient.DeliveryMethod = SmtpDeliveryMethod.Network; #endregion #region 邮件发送的内容以及其他信息 MailMessage Msg = new MailMessage(); Msg.From = new MailAddress(from); if (to != null) { for (int j = 0; j < to.Count; j++) { //收件人和发件人中不能有重复账号 if (to[j].ToString() != from) { Msg.To.Add(to[j]); } } } if (cc != null) { for (int i = 0; i < cc.Count; i++) { //邮件抄送地址 Msg.CC.Add(cc[i].ToString()); } } //邮件标题 Msg.Subject = subject; //邮件主体的编码格式 Msg.BodyEncoding = System.Text.Encoding.UTF8; //邮件内容 Msg.Body = content; //添加附件 for (int i = 0; i < fileList.Count; i++) { ///添加单个附件 System.Web.HttpPostedFile file = fileList[i]; if (file.FileName.Length <= 0 || file.ContentLength <= 0) { break; } Attachment attachment = new Attachment(file.FileName); Msg.Attachments.Add(attachment); } Msg.IsBodyHtml = true; //发送邮件 SClient.Send(Msg); Msg.Dispose(); #endregion } catch (System.Exception ex) { LogControl.WriteError("Send Email" , ex.Message); } }
也可以添加邮件抄送人,添加方法跟上面的mail.To.Add("XXXX")是一样的,mail.CC.Add,直接将抄送人地址放置进去
PS:要对2个命名空间进行引用添加
using System.Net;
using System.Net.Mail;
在进行添加Email地址的时候,最好先进行正则验证,验证Email地址的有效性:
正则验证方法如下:
//测试Email正则表达式 string CheckStr = @"^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$"; /// <summary> /// 检测Email地址 /// </summary> /// <param name="Value"></param> /// <returns></returns> public bool CheckEmail(string Value) { return Regex.IsMatch(Value, CheckStr); }
微信公众平台已开通,加个关注呗。我们一起学习,一起进步
微信号点击添加关注:《IOS开发总汇》
百度知道群:开发者俱乐部
- C#发送Email的方法
- C#发送Email邮件的方法解析
- C#发送Email邮件的方法解析
- C#发送Email方法总结
- C#发送Email方法总结
- C#发送Email邮件三种方法的总结
- C#发送Email邮件三种方法的总结
- C#发送Email邮件三种方法的总结
- C#下Email的发送
- IOS发送Email的方法
- IOS发送Email的方法
- Matlab发送Email的方法
- IOS发送Email的方法
- Python 发送email的方法
- C#发送Email邮件方法总结
- C#发送Email邮件方法总结
- C#发送Email邮件方法总结
- C#发送Email邮件方法总结
- Oracle 11g Alert log 文件位置的问题
- poj 1947
- 编码与字库
- C++
- Linux rootkit的检测工具使用(chkrootkit和rootkit hunter)
- C#发送Email的方法
- jquery:淡入淡出
- git学习教程资源地址
- MSComm32控件只支持16个串口问题的解决
- 普及下SSH
- wait和waitpid详解
- Android文档笔记:动画与图形(一)
- PHP经典面试题(基础型I)附答案
- 移动开发,我们未来的路在哪里?