.net密码找回

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"));


转载于:https://www.cnblogs.com/secbook/archive/2012/08/06/2654858.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#使用模板文件批量导出word文档

需求背景 因为疫情爆发&#xff0c;进入一级响应状态&#xff0c;公安部门进行了严格出入境管理&#xff0c;需要对每个出入境的人进行状态跟踪。 疫情专班会将出入境的每个人员汇总在一张Excel表中&#xff0c;如下图所示&#xff1a; 每一行对应一个人员信息&#xff0c;一个…

WP7 开发(九) WP7控件开发(六)-DeepZoom技术

2011年11月14日 -DeepZoom&#xff1a;源于遥感影像的金字塔显示方式&#xff0c;提供了与高分辨率图像进行交互的能力&#xff0c;可以快速缩放图像而不影响应用的性能&#xff0c;加载或平移图像时可以光滑过度 -应用&#xff1a;高分辨率、极大图像的浏览&#xff0c;3D合成…

以太网单播、组播、广播

单播&#xff1a;单播MAC地址是从源到目的的唯一地址。 广播&#xff1a;就是一个主机向所有主机发送一个数据包。 组播&#xff1a;就是把数据发送给一组主机或者发送给感兴趣的主机。&#xff08;组播的MAC地址是以&#xff1a;01-00-5E开头的&#xff0c;组播的IP地址224.0.…

[Android疑难杂症]Gallery默认和横竖屏切换选中状态问题(2.3、2.3系统存在)

前言Gallery的Item使用的是一个ImageViewTextView&#xff0c;并且为其设置了selector&#xff0c;当使用setSelection设置时、横竖屏切换时Item的状态不会改变&#xff0c;这个目前在2.2、2.3系统中存在&#xff0c;高版本如4.0是不存在的。声明欢迎转载&#xff0c;但请保留文…

原子操作的实现原理(锁和循环CAS)

1 引言 原子&#xff08;atom&#xff09;本意是“不能被进一步分割的最小粒子”&#xff0c;而原子操作&#xff08;atomic operation&#xff09;意为”不可被中断的一个或一系列操作” 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Inter处理器和…

git常规命令大全

git remote show origin 显示远端信息 git push --mirror 迁移的服务器路径&#xff08;ssh&#xff09; git remote add origin ssh 地址 git push -u origin 分支名 git push origin :分支名 删除远程分支 git push origin --delete 删除远程分支 1&#xff09;配置使用git仓…

const 一级指针的启示

直接上代码: #include int main() { const char* ptr nullptr;//可以通过二级指针去修改 //const chartemp_str &ptr; //*temp_str “123”; const chartemp_str nullptr; temp_str &ptr; *temp_str “123”; std::string str; str.resize(3); //memcpy(&…

Linux之软件安装YUM

在终端中输入yum即可…… 如果已经安装&#xff0c;会显示yum的参数 如果没有安装&#xff0c;会提示yum未安装或无效命令…… 建议&#xff1a; 以Redhat Enterprise Linux 5&#xff08;RHEL 5&#xff09;为例&#xff1a; 1. 首先你可以使用命令&#xff1a;rpm -qa |grep …

java(安全方便的从控制台读入数据)[对Scanner类进行封装,用正则表达式判断]...

此版本是对自己的这篇博客中的源码进行了优化&#xff1a;http://blog.csdn.net/haifengzhilian/article/details/7835404 package com.iflytek.util; import java.util.*; import java.util.regex.Pattern;/*** 类名&#xff1a;GetSafeInput* 作用&#xff1a;在控制台中安全…

关于子网的网络地址和广播地址的计算问题的方法

关于子网的网络地址和广播地址的计算问题的方法 前言 近期在备考网络管理员考试&#xff0c;发现之前学习的知识有些遗忘&#xff0c;更新一下自己的博客记录一下学习的过程&#xff0c;今天先写一个小问题的计算方法&#xff0c;希望可以对大家有所帮助。 一、题目&#xf…

cdgb调试linux崩溃程序

直接上原图: 使用命令:cgdb test test.core.2235 安装cgdb程序步骤&#xff1a; 1&#xff1a;wget http://cgdb.me/files/cgdb-0.7.1.tar.gz(网络会受到影响) 2:解压.tar.gz文件 3:./configure --prefix/usr/local之后会提示 error: CGDB requires curses.h or ncurses/cu…

关于计算机网络中超网聚合问题的计算

关于计算机网络中超网聚合问题的计算 近期备战网络管理员考试&#xff0c;遇到了一类的超网聚合问题&#xff0c;觉得有点意思&#xff0c;写一下解题步骤。 题目 把4个网络133.24.12.0/24&#xff0c;133.24.13.0/24&#xff0c;133.24.14.0/24和133.24.15.0/24汇聚成一个超…

博客

http://cocoalit.com/index?cat46

软考网络管理员存储容量计算相关问题

软考网络管理员存储容量计算相关问题 题目&#xff1a; 内存按字节编址&#xff0c;用存储容量为8K * 8比特的存储器芯片构成地址编号7000H至EFFFH的内存空间&#xff0c;至少需要多少片内存&#xff1f; 解题过程&#xff1a; 首先求解总体地址容量&#xff1a; 总体容量E…

hMailServer 邮件系统安装配置篇

此篇进入正题&#xff0c;详细的说一下安装和配置过程。得先说一下&#xff0c;hMailServer是真正的邮件服务端&#xff0c;而Roundcube Webmail仅仅是为hMailServer提供Webmail应用的&#xff0c;可以让你通过Web方式收发邮件&#xff0c;如果你不用Web方式收发邮件&#xff0…

linux下生成coredump文件

1产生core文件方法 产生coredump的条件&#xff0c;首先需要确认当前会话的ulimit –c&#xff0c;若为0&#xff0c;则不会产生对应的coredump&#xff0c;需要进行修改和设置。 ulimit -c unlimited (可以产生coredump且不受大小限制)&#xff0c;这种设置仅对当前生效&…

关于选择排序的优化——同时找出最小值与最大值

关于选择排序的优化——同时找出最小值与最大值 近期在学习排序算法&#xff0c;第一种方法就是选择排序。首先选择排序是一种不稳定的算法&#xff0c;其思想是通过遍历数组&#xff0c;找出最小值&#xff08;最大值&#xff09;的位置&#xff0c;放到已排序序列的启示&…

《几何与代数导引》例2.9

求以直线$xyz$为轴&#xff0c;过直线$2x3y-5z$的圆锥面方程.解&#xff1a;两条直线显然相交于原点.设圆锥面上的任意一点为$(x,y,z)$.我们知道直线$2x3y-5z$的方向向量为$(15,10,-6)$.则直线$xyz$的方向向量为$(1,1,1)$.我们知道\begin{equation}\cos \langle (1,1,1), (15,1…

std::make_unique和 std::make_shared区别

区别1&#xff1a;分配除的指针&#xff0c;前者是不能赋值&#xff0c;只能move,后者可以赋值 区别2&#xff1a;前者使用智能指针数组&#xff0c;后者不行&#xff08;因为后者分配出来的指针具有单一性&#xff09; #include #include class A { public: A() { std::c…