`
wangfu_02
  • 浏览: 71916 次
社区版块
存档分类
最新评论

.netl发送邮件

    博客分类:
  • .net
阅读更多
.net1.1中,web应该可以使用System.Web.Mail发送邮件。.net2.0后.net framework中添加了一个System.Net.Mail的命名空间,用于发送邮件。
使用System.Web.Mail发送邮件
public class SendMail
    {
        public static void Send(string mailFrom, string maiFromlAccount,string mailFromPwd, string mailSmtpServer, IList<string> mailTo, IList<string> mailCC, IList<string> mailBCC, string mailTitle, string mailContent, IList<MailAttachment> mailAttachments,System.Text.Encoding encoding,MailFormat format)
        {
            MailMessage message = new MailMessage();
            //定义SMTP邮件服务器需要身份认证
            message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
            //认证的用户名
            message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", maiFromlAccount);
            //认证密码
            message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", mailFromPwd);
            string sMailTo = "";
            foreach (string s in mailTo)
            {
                sMailTo += s + ";";
            }
            if (sMailTo == "")
            {
                throw new Exception("接收邮件不可以为空");
            }
            sMailTo = sMailTo.TrimEnd(';');
            if (mailFrom.Trim() == "")
            {
                throw new Exception("发送邮件不可以为空");
            }
            message.From = mailFrom;
            message.To = sMailTo;
            if (mailCC.Count > 0)
            {
                string sMailCC = "";
                foreach (string s in mailCC)
                {
                    sMailCC += s + ";";
                }
                sMailCC = sMailCC.TrimEnd(';');
                message.Cc = sMailCC;
            }
            if (mailBCC.Count > 0)
            {
                string sMailBCC = "";
                foreach (string s in mailBCC)
                {
                    sMailBCC += s + ";";
                }
                sMailBCC = sMailBCC.TrimEnd(';');
                message.Bcc = sMailBCC;
            }
            message.Subject = mailTitle;
            message.Body = mailContent;
            message.BodyEncoding = encoding;   //邮件编码
            message.BodyFormat = format;       //内容格式 html还是text
            message.Priority = MailPriority.High;  //设置发送的优先集
            //附件
            foreach (MailAttachment att in mailAttachments)
            {
                message.Attachments.Add(att);
            }
            SmtpMail.SmtpServer = mailSmtpServer;
            SmtpMail.Send(message);
        }

        public static void SendText(string mailFrom, string maiFromlAccount, string mailFromPwd, string mailSmtpServer, IList<string> mailTo, IList<string> mailCC, IList<string> mailBCC, string mailTitle, string mailContent)
        {
            List<MailAttachment> attList = new List<MailAttachment>();
            Send(mailFrom, maiFromlAccount, mailFromPwd, mailSmtpServer, mailTo, mailCC, mailBCC, mailTitle, mailContent, attList, Encoding.UTF8, MailFormat.Text);
        }

        public static void SendHTML(string mailFrom, string maiFromlAccount, string mailFromPwd, string mailSmtpServer, IList<string> mailTo, IList<string> mailCC, IList<string> mailBCC, string mailTitle, string mailContent)
        {
            List<MailAttachment> attList = new List<MailAttachment>();
            Send(mailFrom, maiFromlAccount, mailFromPwd, mailSmtpServer, mailTo, mailCC, mailBCC, mailTitle, mailContent, attList, Encoding.UTF8, MailFormat.Html);
        }
    }

使用System.Net.Mail发送邮件
public class NetSendMail
    {
        public static void MailSend(string mailFrom, string maiFromlAccount, string mailFromPwd, string mailSmtpServer, IList<string> mailTo, IList<string> mailCC, IList<string> mailBCC, string mailTitle, string mailContent, IList<string> mailAttachments, System.Text.Encoding encoding, bool isBodyHtml)
        {
            MailMessage message = new MailMessage();
            if (mailFrom.Trim() == "")
            {
                throw new Exception("发送邮件不可以为空");
            }
            message.From = new MailAddress(mailFrom);
            if (mailTo.Count <= 0)
            {
                throw new Exception("接收邮件不可以为空");
            }
            foreach (string s in mailTo)
            {
                message.To.Add(new MailAddress(s));
            }
            if (mailCC.Count > 0)
            {
                foreach (string s in mailCC)
                {
                    message.CC.Add(new MailAddress(s));
                }
            }
            if (mailBCC.Count > 0)
            {
                foreach (string s in mailBCC)
                {
                    message.Bcc.Add(new MailAddress(s));
                }
            }
            message.Subject = mailTitle;
            message.Body = mailContent;
            message.BodyEncoding = encoding;   //邮件编码
            message.IsBodyHtml = isBodyHtml;      //内容格式是否是html
            message.Priority = MailPriority.High;  //设置发送的优先集
            //附件
            foreach (string att in mailAttachments)
            {
                message.Attachments.Add(new Attachment(att));
            }
            SmtpClient smtpClient = new SmtpClient();
            smtpClient.Host = mailSmtpServer;
            smtpClient.Credentials = new NetworkCredential(maiFromlAccount, mailFromPwd);
            smtpClient.Timeout = 1000;
            smtpClient.EnableSsl = false;        //不使用ssl连接
            smtpClient.Send(message);
        }

        public static void MailSendText(string mailFrom, string maiFromlAccount, string mailFromPwd, string mailSmtpServer, IList<string> mailTo, IList<string> mailCC, IList<string> mailBCC, string mailTitle, string mailContent)
        {
            List<string> attList = new List<string>();
            MailSend(mailFrom, maiFromlAccount, mailFromPwd, mailSmtpServer, mailTo, mailCC, mailBCC, mailTitle, mailContent, attList, Encoding.UTF8, false);
        }

        public static void MailSendHTML(string mailFrom, string maiFromlAccount, string mailFromPwd, string mailSmtpServer, IList<string> mailTo, IList<string> mailCC, IList<string> mailBCC, string mailTitle, string mailContent)
        {
            List<string> attList = new List<string>();
            MailSend(mailFrom, maiFromlAccount, mailFromPwd, mailSmtpServer, mailTo, mailCC, mailBCC, mailTitle, mailContent, attList, Encoding.UTF8, true);
        }
分享到:
评论

相关推荐

    ASP.netl留言板

    【ASP.NET 留言板】是一个基于ASP.NET技术,结合SQL数据库,使用C#编程语言实现的简单交互系统。这个系统的核心功能是允许用户在网站上发布留言,并且能够查看其他用户的留言,为用户提供了一个在线交流的平台。...

    mfix-19.2.0.tar.gz

    《mFix 19.2.0:源代码解析与应用探索》 mFix,全称为Multiphase Flow with Interphase eXchanges,是一款强大的多相流交互模拟软件,广泛应用于能源、环境、化工等领域的流体动力学研究。本文将深入探讨mFix ...

    vb.net技术内幕

    【VB.NET技术内幕】深入解析 VB.NET是微软公司推出的一种面向对象的编程语言,它基于.NET Framework,为开发者提供了一种高效、易读、易写的编程环境。本资料集全面覆盖了VB.NET的各个方面,旨在帮助学习者深入理解...

    cojaee.github.io

    在此模板中... :lipstick: 使用Fira Code字体的代码突出显示 :mage: CLI工具 :grinning_face_with_... ://jungin.netlify.com/ Zero的博客: : 乔纳森(Jonathan)的博客: : @ deveely-log: ://deveely-log.netl

    yujo11.github.io:盖茨比

    在此模板中... :lipstick: 使用Fira Code字体的代码突出显示 :mage: CLI工具 :grinning_face_with_smiling_eyes: 表情符号(表情符号) :speaking_head: 社交分享功能... @ deveely-log: ://deveely-log.netl

    yorgos-29052021

    Svenbook 该项目是使用版本11.2.6生成的。 怎么跑 服务 为开发服务器运行ng serve 。... 如果您更改任何源文件,该应用程序将自动重新加载。 Docker构建和服务 运行npm run docker:all:dev... 访问https://svenbook.netl

    全国2009年7月高等教育自学考试计算机网络原理试题及参考答案.pdf

    15. 电子邮件协议:发送邮件通常使用SMTP,接收邮件通常使用POP3或IMAP。 16. TCP流量控制:TCP使用可变大小的滑动窗口协议来控制数据传输速率。 17. DNS协议:DNS主要负责实现域名到IP地址的映射。 18. FDDI数据...

    U-Netl论文相关资料资料

    ...这种网络结构因其对称的编码器-解码器设计,高效的信息传递路径以及对小目标的优秀识别能力,在医学图像分析、遥感图像处理、细胞核分割等多个领域得到了广泛应用。... ...其对称的架构使得编码器部分可以捕获全局信息,...

    NETL0G PICTURE DOWNLOADER-开源

    【NETL0G PICTURE DOWNLOADER - 开源】是一个专为下载社交平台NETLOG(www.netlog.com)用户图片设计的程序。这个工具的独特之处在于它的开源特性,这意味着其源代码是公开的,允许用户查看、学习和修改代码以满足...

    分析网桥和路由器区别.docx

    当PC在Netl上发送广播包时,路由器只会将其限制在该网络内,不会进一步扩散到互连网络。 四、路由决策与配置 在工作站上,如运行TCP/IP协议栈的PC,通常需要手动配置IP地址、子网掩码和默认网关。如果目标计算机在...

    kidneyinahaystack.github.io

    与您的Netlify帐户关联的电子邮件地址将收到一封邀请您作为身份用户的电子邮件-单击电子邮件中的“接受”以设置新密码,然后导航到您站点上的/admin登录。 现在您已经准备就绪,可以开始编辑内容了! 注意:如果将...

    论文研究 - NEMS建模平台的水能原型模型:热电需水量及其对区域电力市场的影响

    国家能源技术实验室(NETL)已开发出简化的能源-水原型模型,作为对能源-水相互作用进行全面建模的更大努力的一部分。 NETL水能模型(NWEM)原型通过国家能源建模系统(NEMS)发电量预测,将各种有关供水,水供应和...

    OCLC向全球图书馆提供netLibrary电子图书共2页

    标签“OCLC向全球图书馆提供netL”是不完整的,但可以推断其完整内容应为“OCLC向全球图书馆提供netLibrary电子图书”。这个标签突出了OCLC的服务对象是全球的图书馆,以及服务内容是netLibrary的电子图书。 至于...

    商业编程-源码-典型网络数据库系统软件设计.zip

    3. **查询处理**:网络数据库系统支持特定的查询语言,如CSP(Connexional Symbolic Processing)或NETL(Network Language)。源码可能包含查询解析器、查询优化器和执行引擎的部分。 4. **事务处理**:数据库系统...

    radware负载均衡常用查询命令

    - **命令**: `#netl2-information` - **功能**: 显示第二层(数据链路层)端口的状态信息。 - **解释**: - 包括端口的物理状态、速度、双工模式等,对于排查网络问题非常有用。 #### 九、显示日志信息 - **命令**...

    jekyll-netlify-cms

    与您的Netlify帐户关联的电子邮件地址将收到一封邀请您作为身份用户的电子邮件-单击电子邮件中的“接受”以设置新密码,然后导航到您站点上的/admin登录。 现在您已经准备就绪,可以开始编辑内容了! 注意:如果将...

    堆芯环空流动的研究工业规模循环流化床提升管电容体层摄影术.pdf

    为了弥补这一数据空白,美国国家能源技术实验室(NETL)在其工业规模的冷模型CFB上安装了一个高0.445米的电容体层摄影术传感器,该传感器距离气体分配器9.66米处。此实验装置的CFB冷模型高度为15.45米,直径0.3米。 ...

    半导体集成电路-CMOS反相器的绘制.pptx

    如果出现浮动网络,系统会发出警告,例如"Floating net "netl2" at (-0.7500,1.2500)",此时需要检查并修正电路连接。此外,所有电路都应有明确的输入和输出端,如果出现"terminal "o" in view symbol not found in ...

    mfix20160119_world_multiphaseflow_mfix_mfixcfd_

    MFiX (Multiphase Flow with Interphase eXchanges ) 是由NETL (National Energy Technology Laboratory) 开发并维护的开源软件,致力于解决实际装置中的多相流问题 (Open source multiphase flow modeling for real...

Global site tag (gtag.js) - Google Analytics