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("abc@126.com", "某某人", "cba@126.com", "你好", "我测试下邮件", "邮箱登录名", "邮箱密码", "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("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication 
            //mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", username); //set your username here 
            //mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", 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("shaxiaozier@sohu.com", "某某人", "hou@sina.com", "你好", "我测试下邮件", "shaxiaozier@sohu.com", "*********", "smtp.sohu.com", Server.MapPath("~/fujian/wap.doc")));

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

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

Response.Write("发送制定网页:"+sendEmail.SendWebUrl("shaxiaozier@sohu.com", "hou@sina.com", "zhuti", "smtp.sohu.com", "shaxiaozier", "*********", "http://www.baidu.com"));

原文链接:http://blog.csdn.net/mypc2010/article/details/7836961

.net密码找回的更多相关文章

  1. linux忘记mysql密码找回方法

    linux忘记mysql教程密码找回方法 今天我们主要是讲一下关于linux忘记mysql密码处理方法,下面提供了5种linux忘记mysql密码找回方法哦.    方法一: # /etc/init. ...

  2. (转)asp.net实现忘记密码找回的代码

    1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...

  3. C# Email邮件发送,功能是密码找回或者重置功能。

    原文:C# Email邮件发送,功能是密码找回或者重置功能. 最近根据公司需求,写个邮件发送.   这里面的传入的地址信息的参数都是经过加密的.  主要是保证用户信息的安全. 帮助类   using ...

  4. discuz密码找回:[1]忘记UCENTER创始人密码

    人们都是健忘的,何况每天的事情很多,有些站长更是兼职做,赚点外快而已,而ucenter更是不常用,所以忘记密码是在正常不过的事情,如果密码忘记怎么找回呢?方法有很多种,例如用comsenz tools ...

  5. Linux系统初学-第一课 虚拟机安装CentOS6.5以及Root密码找回

    Linux系统初学第一课 虚拟机安装CentOS6.5以及Root密码找回 虚拟机安装CentOS6.5 一.安装虚拟机 1-1.安装虚拟机VMware Station,新建虚拟机,选择典型配置. 1 ...

  6. WordPress忘记密码找回登录密码的四种行之有效的方法

    WordPress忘记密码找回登录密码的四种行之有效的方法 PS:20170214更新,感谢SuperDoge同学提供的方法,登入phpMyAdmin后,先从左边选自己的数据库,然后点上面的 SQL ...

  7. python开发mysql:mysql安装(windows)&密码找回&存储引擎简介&库表的增删改查

    一,mysql安装 下载地址 https://dev.mysql.com/downloads/file/?id=471342 解压后,将目录C:\mysql-5.7.19-winx64\bin添加到计 ...

  8. 轻松搭建CAS 5.x系列(5)-增加密码找回和密码修改功能

    概述说明 CAS内置了密码找回和密码修改的功能: 密码找回功能是,系统会吧密码重置的连接通过邮件或短信方式发送给用户,用户点击链接后就可以重置密码,cas还支持预留密码重置的问题,只有回答对了,才可以 ...

  9. Mysql数据库忘记密码找回方法

    Mysql数据库忘记密码找回 a 停止mysql服务 /etc/init.d/mysql stop b 使用--skip-grant-tables启动mysql,忽略授权登录验证 mysqld_saf ...

  10. MySQL root密码找回

    以MySQL多实例为例,演示找回MySQL root的密码 1.关闭mysql服务 [root@mysql ~]# mysqladmin -uroot -poldboy123 -S /data/330 ...

随机推荐

  1. SuperSocket框架中BinaryRequestInfo协议的使用

    一.开发环境 1.Windows 10 企业版 64位 2.Microsoft Visual Studio 2017 企业版 二.项目开始 1.新建控制台程序,项目名称“BinarySuperSock ...

  2. Deep Image Matting

    论文地址:https://arxiv.org/abs/1703.03872 TF复现地址:https://github.com/Joker316701882/Deep-Image-Matting 领域 ...

  3. Kolla Ocata版本安装及镜像制作流程

    1.关闭宿主机firewalldsystemctl disable firewalldsystemctl stop firewalld 2.配置selinux为disable,否则创建的实例网络不通临 ...

  4. [Django笔记] Apache + mod-wsgi 环境部署所遇到的各种问题总结

    在一台CentOS7机器上配置Django+apache运行环境 Django安装 python2 or python3 ? 一般情况下Linux系统都有自带python2,本机CentOS7上的是p ...

  5. “Enterprise Architect”和数据库的不解之缘

    前言 在这个大数据盛行的时代,和数据打交道变的必不可少了,所有如果有工具来规范我们的数据库会更加方便我们的生活.这次机房,我们利用EA(Enterprise Architect)自动生成SQL语句来达 ...

  6. poj3694(lca + tarjan求桥模板)

    题目链接: http://poj.org/problem?id=3694 题意: 给出一个 n 个节点 m 条边的图, 然后有 q 组形如 x, y 的询问, 在前面的基础上连接边 x, y, 输出当 ...

  7. jQuery点击弹出层,弹出模态框,点击模态框消失

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  8. 用户与授权:MySQL系列之六

    一.用户管理 1.用户账号 用户的账号由用户名和HOST俩部分组成('USERNAME'@'HOST') HOST的表示: 主机名 具体IP地址 网段/掩码 可以使用通配符表示,%和_:192.168 ...

  9. MarkDown折叠语法

    1.语法代码 程序员的本质 程序的进阶和优化 1.简化人的操作,更少的代码做更多的事情 2.节省时间效率,在更短的时间内做更多的事情 3.占用内存,占更少的内存做更多的事情 <details&g ...

  10. Eclipse中新建Maven Web项目报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    在maven web项目中的index.jsp中的错误信息如下: The superclass "javax.servlet.http.HttpServlet" was not f ...