zoukankan      html  css  js  c++  java
  • 【.NET】发送Email

    首先,在web.config的appSettings配置一下。

    <appSettings>
        <add key="FromMail" value="xxx@163.com"/>
        <add key="MailDomain" value="smtp.163.com"/>
        <add key="MailServerUser" value="xxx"/>
        <add key="MailServerPWD" value="xxx"/>
    </appSetting>


    下面是类的方法,类名:Email

    ///发送找回密码Email
    ///发送注册成功Email
    ///发送Email方法
    
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading;
    using System.Globalization;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Configuration;
    using System.Net.Mail;
    
    namespace Tools
    {
        public class Email
        {
            public static bool SendMemberJobEmail(Model.Msg member)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("<p>找回密码</p>");
                sb.Append("<p>用户名:"+member.mname+"</p>");
                sb.Append("<p>密码:"+member.content+"</p>");
    
                string fromMail = ConfigurationManager.AppSettings["FromMail"].ToString();
                string toMail = member.email;//ConfigurationManager.AppSettings["ToMail"].ToString();
                string server = ConfigurationManager.AppSettings["MailDomain"].ToString();
                string userName = ConfigurationManager.AppSettings["MailServerUser"].ToString();
                string password = ConfigurationManager.AppSettings["MailServerPWD"].ToString();
                string subject = "(科技网站        " + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + ")";
    
    
                bool result = SendMail(fromMail, toMail, subject, sb.ToString(), server, userName, password, true);
    
                return result;
            }
           
            ///   <summary> 
            ///   发送邮件 
            ///   </summary> 
            ///   <param   name= "server "> smtp地址 </param> 
            ///   <param   name= "username "> 用户名 </param> 
            ///   <param   name= "password "> 密码 </param> 
            ///   <param   name= "from "> 发信人地址 </param> 
            ///   <param   name= "to "> 收信人地址 </param> 
            ///   <param   name= "subject "> 邮件标题 </param>
            ///   <param   name= "body "> 邮件正文 </param>
            ///    <param   name= "IsHtml "> 是否是HTML格式的邮件 </param> 
            public static bool SendMail(string from, string to, string subject, string body, string server, string username, 
    
    string password, bool IsHtml)
            {
                //设置SMTP 验证
                SmtpClient mailClient = new SmtpClient(server);
                if(server == "smtp.gmail.com")
                {
                    mailClient.Port = 587;
                    mailClient.EnableSsl = true;
                }
                //表示当前登陆用户的默认凭据进行身份验证,并且包含用户名密码
                mailClient.UseDefaultCredentials = true;
                //mailClient.Host = "smtp.gmail.com";
                mailClient.Credentials = new System.Net.NetworkCredential(username, password);
    
                //指定如何发送电子邮件。 
                //Network         电子邮件通过网络发送到   SMTP   服务器。     
                //PickupDirectoryFromIis   将电子邮件复制到挑选目录,然后通过本地   Internet   信息服务   (IIS)   传送。    
    
     
                //SpecifiedPickupDirectory 将电子邮件复制到 SmtpClient.PickupDirectoryLocation 属性指定的目录,然后由外部应
    
    用程序传送。    
    
                mailClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
    
                //创建邮件对象
                MailMessage mailMessage = new MailMessage(from, to, subject, body);
    
                //定义邮件正文,主题的编码方式
                mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");
                mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
    
                //获取或者设置一个值,该值表示电子邮件正文是否为HTML
                mailMessage.IsBodyHtml = IsHtml;
    
                //指定邮件的优先级
                mailMessage.Priority = MailPriority.Normal;
    
                /*
                //   //添加附件 
                //System.Web.Mail.MailAttachment   mailAttachment=new   System.Web.Mail.MailAttachment(@ "f:/att.txt ");   
                if (strFileName != " " && strFileName != null)
                {
                    Attachment data = new Attachment(strFileName);
                    mailMessage.Attachments.Add(data);
                } 
                 */
    
                //发件人身份验证,否则163   发不了 
                mailClient.Credentials = new System.Net.NetworkCredential(username, password);
    
    
                //发送
                //try
                //{
                    mailClient.Send(mailMessage);
    
                    return true;
                //}
                //catch(Exception ex)
                //{
                //    return false;
                //}
    
            }
    
        }
    }
  • 相关阅读:
    HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别
    手动部署 Ceph Mimic 三节点
    Ceph 分布式存储架构解析与工作原理
    OpenStack 的单元测试
    OpenStack 虚拟机启动流程 UML 分析(内含 UML 源码)
    我非要捅穿这 Neutron(四)Open vSwitch in Neutron
    手动部署 OpenStack Rocky 双节点
    OpenStack Blazar 架构解析与功能实践
    基于 Open vSwitch 的 OpenFlow 实践
    OpenFlow/SDN 的缘起与发展
  • 原文地址:https://www.cnblogs.com/chencsblog/p/3289073.html
Copyright © 2011-2022 走看看