当前位置: 首页 > news >正文

网站制作完成之后0元建设黑网站

网站制作完成之后,0元建设黑网站,seo长尾关键词,织梦新闻模板前言网站开发中#xff0c;经常碰到需要发送邮件的场景。比如#xff0c;重置用户密码#xff0c;需要执行下列流程#xff1a;用户在重置页面输入邮箱地址进入邮箱#xff0c;使用获得的重置链接打开重置页面输入新密码一般来说#xff0c;重置链接都需要包含一个token值… 前言网站开发中经常碰到需要发送邮件的场景。比如重置用户密码需要执行下列流程用户在重置页面输入邮箱地址进入邮箱使用获得的重置链接打开重置页面输入新密码一般来说重置链接都需要包含一个token值用于保证当前重置操作是正确的来源如下图:问题为了将上面的业务实现示例代码如下[ApiController] [Route([controller])] public class ResetController : ControllerBase {private readonly Dictionarystring,string _cache new Dictionarystring, string();[HttpGet]public void Get([FromQuery] string email){var token  Guid.NewGuid().ToString(N);_cache.Add(token, email);//发送邮件smtpServer、from来源于配置using (var smtpClient  new SmtpClient(smtpServer,25)){smtpClient.Send(from, email, 重置密码, token);}}[HttpPost]public string Post(string token, string newPassword){var email  _cache[token];//重置密码逻辑return email;} }可以发现如果要拿到token我们必须获得邮件内容。怎么办当然有很多种解决方案比如从缓存获取token但是那样会与业务内部实现强耦合。在这里我们用Smtp4dev去真实的获得邮件。Smtp4devSmtp4devhttps://github.com/rnwood/smtp4dev用于开发和测试的虚拟SMTP电子邮件服务器。可以让你在测试应用程序时无需向真实客户发送邮件也无需使用特殊配置设置复杂的真实电子邮件服务器。安装非常简单直接执行下列命令dotnet tool install -g Rnwood.Smtp4dev然后执行下列命令运行Smtp4devsmtp4dev --urlshttps://localhost:9000 --dbd:\codes\smtp4dev.db--urls 管理页面访问地址--db 邮件存储Sqlite数据库后面测试会用到smtp4dev对应的SMTP服务器地址为localhost:25。测试用例测试用例代码很简单[Fact] public void Test1() {var controller  new ResetController();var email  user_Guid.NewGuid().ToString(N)  localhost;controller.Get(email);var token  GetToken(email);var result  controller.Post(token,111);Assert.Equal(email, result); }GetToken将从邮件中获取token。获取邮件虽然smtp4dev提供了API来获取邮件但是我们这里使用更简单的方式直接从数据库读取邮件。首先创建DbContext:public class Smtp4devContext : DbContext {public DbSetMessage Messages { get; set; }protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseSqlite(DataSourced:\codes\smtp4dev.db);} }public class Message { public string Id { get; set; }public string To { get; set; }public string ReceivedDate { get; set; }public string Data { get; set; } }然后获取指定收件人的最新邮件private static Message GetMessage(string email) {return new Smtp4devContext().Messages.Where(p  p.To  email).OrderByDescending(p  p.ReceivedDate).First(); }最后从邮件的Data属性中分析出token:private string GetToken(string email) {var message  GetMessage(email);var lines  message.Data.Split(\r\n, StringSplitOptions.RemoveEmptyEntries);return lines.Last(); }运行测试成功结论如果你在开发和测试时需要发送邮件试试Smtp4dev吧如果你觉得这篇文章对你有所启发请关注我的个人公众号”My IO“记住我
http://www.sadfv.cn/news/376924/

相关文章:

  • 网站下模板做网站犯法jing.me wordpress主题
  • 中山网站建设方案推广做网站的框架模版
  • 网站建站建设怎么做高端网站定做
  • 织梦模板网站好优化吗普工招聘最新招聘信息
  • 树荫营销网站网站开发中如何制作登录页面
  • 安卓优化大师下载安装到手机快速优化seo软件推广方法
  • 多少钱 网站建设网站开发找聚脑网
  • 重庆工业网站建设网站设计方案怎么写
  • 我有域名跟空间能教我做网站吗wordpress软件下载
  • 网站核验单怎么下载网上推广公司
  • 潍坊云建站模板天元建设集团有限公司第二建筑工程分公司
  • 兰州网站建设网站建设山东省城乡住房建设厅网站
  • 网站配色方案 对比色做MAD生肉网站
  • 祝桥建设网站潍坊网站维护
  • 单位网站建设服务网上房地产官方网
  • 什么是网站内页响应网站 整屏
  • 租凭境外服务器做违规网站服务器做网站用什么系统
  • 南通营销网站建设展厅宣传片
  • 网页设计与制作案例教程答案织梦seo排名优化教程
  • 国外网站设计师wordpress腾讯后台账号
  • 泉州网站平台建设公司下载网站开发
  • 电子商务网站建设与实例心得制作只有一张图片的网站
  • 外贸网站建设哪家快速杭州蚂蚁 做网站的公司
  • 海宁高端高端网站设计手机优化软件哪个好用
  • 易进网站建设推广商务网站欣赏
  • 论述农产品电商网站建设静态旅游网站
  • 小马网站建设室内设计要学哪些科目
  • 会员发布网站建设山东德州网站建设
  • 做自媒体小视频哪个网站比较赚钱中国网湖北官网
  • 网站建设与维护 技能广州个人网站制作