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

.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);
        }
分享到:
评论

相关推荐

    mfix-19.2.0.tar.gz

    mfix官方下载的源代码,详细信息科访问 https://mfix.netl.doe.gov/ ,或者直接度娘mfix

    ASP.netl留言板

    这是朋友找到的一个关于ASP.NET AND SQL 用C#语言汇编而成的留言板,简单易学。 希望和大家分享下

    vb.net技术内幕

    包含vbnet的各个技术,可以和教材结合使用,方便学习

    数学建模论文

    网络管理与建设,asp.netl框架,实用小技术

    U-Netl论文相关资料资料

    U-Netl论文相关资料资料

    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

    NETL0G PICTURE DOWNLOADER-开源

    该程序可帮助您以完整尺寸下载社交社区 NETLOG (www.netlog.com) 成员的图片。 该工具只需要用户名和国家/地区代码作为输入。

    kidneyinahaystack.github.io

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

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

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

    jekyll-netlify-cms

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

    mfix20160119_world_multiphaseflow_mfix_mfixcfd_

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

    Github用户搜索:使用react,react-dom,react-bootstrap,react-router-bootstrap,axios和Github Api的Github用户搜索

    Github用户搜索是一个简单的React应用,使用:react,react-dom,react-bootstrap,react-router-bootstrap,axios和Github Api。 注意:创建一个本地环境变量文件“ .env.local ”,并使用您的... :rocket: Netl

    java采购供应平台源码-GIS-Extension:与NetLogo捆绑的GIS(地理信息系统)扩展

    java采购供应平台源码NetLogo 的 GIS 扩展 这个包包含 NetLogo GIS 扩展。 建造 sbt package 如果编译成功,将创建gis.jar 。 使用 这个扩展为 NetLogo 添加了 GIS(地理信息系统)支持。 它提供了将矢量 ...NetL

    spice-completion:用于学习自动完成香料网表的探索性代码

    此仓库包含用于探索香料网表自动完成的代码。 快速开始 首先安装依赖项(如下所示)。 然后按照说明尝试使用任何技术。 (使用Python 3) pip install -r ... python train_knn.py path/to/netlist path/to/netl

    环网上2-步邻域内的局部策略互动及其仿真研究 (2012年)

    考察环网上局中人在半径为1和2的范围内与邻居的局部策略互动,在以局中人整体...基于Netl- ogo仿真系统,编制了针对本文模型的局部互动仿真模拟实验程序。论文的结果对于解决社会和经济领域中的交互问题提供策略指导。

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

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

    碳化氨水中含碳量的分析及测量 (2011年)

    近年来氨法吸收二氧化碳成为化学吸收方法捕集二氧化碳研究方面的热点,...对滴定过程进行了深入的分析,认为美国能源实验室(NETL)发展的NH3、CO2-3、HCO3-测量方法存在问题。滴定方法相对于Raman光谱和NMR方法的缺点是

Global site tag (gtag.js) - Google Analytics