博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net密码找回
阅读量:6765 次
发布时间:2019-06-26

本文共 4999 字,大约阅读时间需要 16 分钟。

hot3.png

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.IO;

/// <summary>

/// sendEmail 的摘要说明
/// </summary>
public static class sendEmail
{
    static sendEmail()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }

    /// <summary>
    /// 发送邮件程序
    /// </summary>
    /// <param name="from">发送人邮件地址</param>
    /// <param name="fromname">发送人显示名称</param>
    /// <param name="to">发送给谁(邮件地址)</param>
    /// <param name="subject">标题</param>
    /// <param name="body">内容</param>
    /// <param name="username">邮件登录名</param>
    /// <param name="password">邮件密码</param>
    /// <param name="server">邮件服务器 smtp服务器地址</param>
    /// <param name="fujian">附件</param>
    /// <returns>send ok</returns>
    /// 调用方法 SendMail("", "某某人", "", "你好", "我测试下邮件", "邮箱登录名", "邮箱密码", "smtp.126.com", "");
    ///
    public static string SendMail(string from, string fromname, string to, string subject, string body, string username, string password, string server, string fujian)
    {
        try
        {
            //邮件发送类
            MailMessage mail = new MailMessage();
            //是谁发送的邮件
            mail.From = new MailAddress(from, fromname);
            //发送给谁
            mail.To.Add(to);
            //标题
            mail.Subject = subject;
            //内容编码
            mail.BodyEncoding = Encoding.Default;
            //发送优先级
            mail.Priority = MailPriority.High;
            //邮件内容
            mail.Body = body;
            //是否HTML形式发送
            mail.IsBodyHtml = true;
            //附件
            if (fujian.Length > 0)
            {
                mail.Attachments.Add(new Attachment(fujian));
            }
            //邮件服务器和端口
            SmtpClient smtp = new SmtpClient(server, 25);
            smtp.UseDefaultCredentials = true;
            //指定发送方式
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
            //指定登录名和密码
            smtp.Credentials = new System.Net.NetworkCredential(username, password);

            //mail.Fields.Add("", "1"); //basic authentication

            //mail.Fields.Add("", username); //set your username here
            //mail.Fields.Add("", password); //set your password here

            //超时时间

            smtp.EnableSsl = false;
            smtp.Timeout = 10000;
            smtp.Send(mail);
            return "成功发送请注意查收";
        }
        catch (Exception exp)
        {
            return exp.Message;
        }
    }

    //读取指定URL地址的HTML,用来以后发送网页用

    public static string ScreenScrapeHtml(string url)
    {

        //读取stream并且对于中文页面防止乱码

        StreamReader reader = new StreamReader(System.Net.WebRequest.Create(url).GetResponse().GetResponseStream(), System.Text.Encoding.UTF8);
        string str = reader.ReadToEnd();
        reader.Close();
        return str;
    }

    ///   <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 string  SendMail(string from, string to, string subject, string body, string server, string username, string password, bool IsHtml)
    {
        try
        {
            //设置SMTP 验证,端口默认为25,如果需要其他请修改
            SmtpClient mailClient = new SmtpClient(server, 25);

            //指定如何发送电子邮件。
            //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");
            //mailMessage.BodyEncoding = Encoding.Default;
            //获取或者设置一个值,该值表示电子邮件正文是否为HTML
            mailMessage.IsBodyHtml = IsHtml;

            //指定邮件的优先级

            mailMessage.Priority = MailPriority.High;

 

            //发件人身份验证,否则163   发不了

            //表示当前登陆用户的默认凭据进行身份验证,并且包含用户名密码
            mailClient.UseDefaultCredentials = true;
            mailClient.Credentials = new System.Net.NetworkCredential(username, password);

            //发送

            mailClient.Send(mailMessage);
            return "发送成功";
        }  
        catch (Exception exp)
        {
            return exp.Message;
        }
    }
      

    //发送plaintxt

    public static void SendText(string from, string to, string subject, string body, string server, string username, string password)
    {
        SendMail(from, to, subject, body, server, username, password, false);
    }

    //发送HTML内容

    public static string  SendHtml(string from, string to, string subject, string body, string server, string username, string password)
    {
    return  SendMail(from, to, subject, body, server, username, password, true);
    }

    //发送制定网页

    public static string  SendWebUrl(string from, string to, string subject, string server, string username, string password, string url)
    {
        //发送制定网页
       return  SendHtml(from, to, subject, ScreenScrapeHtml(url), server, username, password);

    }

}

 

 

 

 

后台调用示例:

Response.Write("发送附件:"+sendEmail.SendMail("", "某某人", "", "你好", "我测试下邮件", "", "*********", "smtp.sohu.com", Server.MapPath("~/fujian/wap.doc")));

        Response.Write("电子邮件正文是HTML格式:" + sendEmail.SendMail("", "", "主题", "正文<br/>又一行", "smtp.sohu.com", "shaxiaozier", "*********", false));

        Response.Write("电子邮件正文非HTML格式:" + sendEmail.SendMail("", "", "主题", "正文<br/>又一行", "smtp.sohu.com", "shaxiaozier", "*********", true));

        Response.Write("发送制定网页:"+sendEmail.SendWebUrl("", "", "zhuti", "smtp.sohu.com", "shaxiaozier", "*********", ""));

原文链接:

转载于:https://my.oschina.net/changpinghu/blog/92587

你可能感兴趣的文章
易学笔记--程序猿踩过的十个最典型的坑
查看>>
Systemstate Dump分析经典案例(上)
查看>>
Win7+Ubuntu11
查看>>
克隆centos7后如何改网卡配置文件生效?
查看>>
Razor Components启用服务器渲染 更提升低速网络浏览体验
查看>>
豆瓣的账号登录及api操作
查看>>
python 高阶函数:sorted(排序)
查看>>
前端与移动开发之vue-day1(3)
查看>>
网络osi七层复习,未复习整理完,后续补齐
查看>>
python--004--函数定义
查看>>
在中国,有多少程序员干到40了?那么其他人去干什么了?
查看>>
C盘里的文件夹都是干什么用的?
查看>>
PHP商城 Composer 以及PSR规范
查看>>
一个线程罢工的诡异事件
查看>>
嵌入式培训大纲 看看具体的课程学习内容有哪些
查看>>
华三模拟器telnet远程登陆
查看>>
带外监控
查看>>
淘宝美工技能分享!13个超级有用的PS技巧
查看>>
Oracle RAC 故障处理(二)(+DATA磁盘组故障)
查看>>
三大措施解决电厂安全管控难题
查看>>