一、outlook的pop方式,并指定发送人邮箱地址:

需要引入dll:Microsoft.Office.Interop.Outlook

                Outlook.Application olApp = new Outlook.Application();

                NameSpace ns = olApp.GetNamespace("mapi");
ns.Logon(Missing.Value, Missing.Value, false, true); Outlook.MailItem mailItem = (Outlook.MailItem)olApp.CreateItem(Outlook.OlItemType.olMailItem); mailItem.To = Email;
mailItem.Subject = "密码找回";
mailItem.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
mailItem.HTMLBody = "验证码是: " + code + ",请在10分钟内进行验证。验证码提供给他人可能导致账号被盗,请勿泄露,谨防被骗。系统邮件请勿回复。"; ; Outlook.Account account = GetAccountForEmailAddress(olApp, autolooksendemail);
mailItem.SendUsingAccount = account; ((Outlook._MailItem)mailItem).Send(); ns.Logoff(); mailItem = null;
ns = null;
olApp = null;

  

  public  Outlook.Account GetAccountForEmailAddress(Outlook.Application application, string smtpAddress)
{ // Loop over the Accounts collection of the current Outlook session.
Outlook.Accounts accounts = application.Session.Accounts; foreach (Outlook.Account account in accounts)
{
logger.Info("Outlook.Account:" + account.SmtpAddress);
// When the e-mail address matches, return the account.
if (account.SmtpAddress == smtpAddress)
{
return account;
}
}
throw new System.Exception(string.Format("No Account with SmtpAddress: {0} exists!", smtpAddress));
}

其中指定的邮箱autolooksendemail应该包含在内。若不在,则添加,步骤如下:

1、打开客户端

2、添加账户

不推荐此方式,因为用exchange方式不安全。

二、outlook的smtp方式:

需要引用System.Net.Mail.dll

 SmtpClient smtpClient = new SmtpClient()
{
UseDefaultCredentials = false,
DeliveryMethod = SmtpDeliveryMethod.Network,
}; smtpClient.Credentials = new NetworkCredential(sendeaccount, autolooksendemailPwd); var message = new MailMessage
{
From = new MailAddress(autolooksendemail),
Sender = new MailAddress(autolooksendemail),
Subject = "密码找回",
IsBodyHtml = false
};
message.To.Add(Email); message.Body = "验证码是: " + code + ",请在10分钟内进行验证。验证码提供给他人可能导致账号被盗,请勿泄露,谨防被骗。系统邮件请勿回复。"; smtpClient.Send(message); message.Dispose();
smtpClient.Dispose();

三、qq邮箱的smtp方式:

需要引入System.Net.Mail.dll

SmtpClient client = new SmtpClient("smtp.qq.com");   //实例化一个SmtpClient类
client.UseDefaultCredentials = true;
MailMessage mail = new MailMessage(); //实例化一个邮件类
mail.From = new MailAddress("发件人邮箱地址"); //发件人邮箱地址
mail.To.Add(new MailAddress("收件人邮箱地址")); //收件人邮箱地址
mail.Subject = "密码找回"; //邮件标题
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = "密码找回内容"; //邮件内容
mail.BodyEncoding = System.Text.Encoding.UTF8; client.EnableSsl = true; //使用安全加密连接
client.Credentials = new NetworkCredential(sendEmail, AuthorizationCode);//验证发件人身份(发件人邮箱,邮箱授权码);
client.Send(mail); //发送邮件
mail.Dispose();
mail = null;
client.Dispose();
client = null;

四、生成随机码:

 public static string CreateRandomCode(int length)  //生成由数字和大小写字母组成的验证码
{
string list = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
//list中存放着验证码的元素
Random random = new Random();
string code = ""; //验证码
for (int i = 0; i < length; i++) //循环6次得到一个伪随机的六位数验证码
{
code += list[random.Next(0, list.Length - 1)];
}
return code;
}

随机码一定时间内有效,我采用的是redis。

五、1分钟后可再次发送邮箱随机码

    var timer1 = 60;

    //倒计时
function TimeDown() {
$("#timer1").html(timer1); if (timer1 > 0) {
setTimeout(function () { TimeDown(); }, 1000);
} else if (timer1 <= 0) {
timer1 = 61;
$("倒计时显示部分").css("display", "block");
$("发送按钮显示部分").css("display", "none");
}
--timer1;
};

发送邮件找回密码采用outlook的 pop和smtp方式、qq邮箱smtp的更多相关文章

  1. CI框架使用PHPmailer发送邮件找回密码

    之前用PHP+Mysql+jQuery结合ThinkPHP做了一个用户验证邮箱找回密码功能<ThinkPHP之PHP+Mysql+jQuery发送邮箱找回密码>,现在分享一下用CI框架结合 ...

  2. C#如何利用QQ邮箱SMTP发送邮件

    public void SendEmail() { MailMessage msg = new MailMessage(); msg.To.Add("to@qq.com");//收 ...

  3. asp.net利用QQ邮箱发送邮件,关键在于开启pop并设置授权码为发送密码

    public static bool SendEmail(string mailTo, string mailSubject, string mailContent)        {         ...

  4. Django 邮箱找回密码!!!!!!!!!!!!!!!!

    1.大概流程. @首先在完善登陆页面,增加忘记密码的链接. @为了账户安全,需要对操作者进行验证,向邮箱发随机数验证! @在重置验证码页面,验证验证码是否匹配(验证成功跳转至更改密码也页面). @ 重 ...

  5. spring mvc下实现通过邮箱找回密码功能

    1功能分析 通过spring mvc框架实现通过邮箱找回密码. 2 实现分析 主要是借助某个邮箱的pop3/smtp服务实现的邮件代发功能. 3 源码分析 3.1首先在用户表对应的javabean中加 ...

  6. ThinkPHP 中使用 PHPMailer 发送邮件 支持163和QQ邮箱等

    [摘要]ThinkPHP是一个开源的PHP框架, 是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.本文介绍ThinkPHP 中使用 PHPMailer 发送邮件. PHP是自带可以发送邮件的Ma ...

  7. PHP 利用QQ邮箱发送邮件「PHPMailer」

    在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...

  8. TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)

    在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...

  9. Laravel5.2 发送邮件(smtp方式最简单的讲解!)-邮件部分

    https://blog.csdn.net/wulove52/article/details/71172842 Laravel集成了SwiftMailer库进行邮件发送,邮件配置文件位于config/ ...

  10. AspNetCore-MVC实战系列(二)之通过绑定邮箱找回密码

    AspNetCore - MVC实战系列目录 . 爱留图网站诞生 . AspNetCore - MVC实战系列(一)之Sqlserver表映射实体模型 . AspNetCore-MVC实战系列(二)之 ...

随机推荐

  1. JavaBean为何物?

    JavaBean为何物?   摘要:初学SSM框架之后,我对JavaBean这个东西开始有了简单的接触,在很久以前听见JavaBean这个词一直以为是一个非常高大上的东西,但是在仔细研究之后发现其本质 ...

  2. P8881 懂事时理解原神

    简要题意 \(T\) 组数据,每组数据给出一个 \(n\) 个顶点,\(m\) 条边的无向无权图.求出使用下面的伪代码求 \(1\) 为源点的单源最短路答案正确的概率.保留 \(3\) 位小数. in ...

  3. 【Java刷题】初始化List应该选择ArrayList还是LinkedList

    文章目录 前言 题目 解题思路 遇到的坑:ArrayList和LinkedList 未通过代码 通过代码 小结 ArrayList和LinkedList的区别 在刷题的时候应该如何选择 排序效率 测试 ...

  4. Joplin修改笔记存储位置

    默认存储路径 笔记的默认保存位置可以通过 工具 > 选项 > 通用选项 ,在最上方可以看到路径 使用Windows快捷方式启动 在Joplin的快捷方式上右击,选择属性,然后选择快捷方式选 ...

  5. 前端防错以及好用小tips指南总结

    @前端防錯以及好用小tips指南總結 1.一般情況下我們接收到的都是對象格式,某些情況下,需要接到後端傳過來的奇怪的字符串格式的JSON,需要解析成對象,但是有時候他們傳過來的格式有問題,會報錯 解決 ...

  6. day16-声明式事务-02

    声明式事务-02 3.事务的传播机制 事务的传播机制说明: 当有多个事务处理并存时,如何控制? 比如用户去购买两次商品(使用不同的方法),每个方法都是一个事务,那么如何控制呢? 也就是说,某个方法本身 ...

  7. ADC-单通道DMA到多通道DMA ADC采集修改事项

    1. 使能通道IO,因为从单通道到多通道,需要添加规则转换通道数,故需要使能扫描模式,否则只能扫描第一个通道: 2. DMA模式配置需修改为循环传输模式,否则只转换一次: 3. 开启ADC规则转换通道 ...

  8. chatGPT 桌面版安装教程

    概述 标题党了,首先声明 ChatGPT 官方没有桌面版,目前市面上很多的桌面应用也在是浏览器上包了一层,而且大多做的比较粗糙,不太好用,所以都不太推荐. 作为一名骨灰级的程序员,ChatGPT 的重 ...

  9. Linux三剑客日志处理系列

    三剑客日志处理系列 一.特殊符号 1.引号系列 必会 引号 含义 单引号 所见即所得,单引号里的内容会原封不动输出 双引号 和单引号类似,对双引号里面的特殊符号进行解析,对于{}花括号(通配符)没有解 ...

  10. Tengine01

    1 简介 Tengine是nginx的一个版本 Tengine文档:http://tengine.taobao.org/ nginx官网: http://nginx.org Nginx (" ...