用户注册发送激活邮件(上)
最近跟一位前辈学习了一个简单的业务模块(用户注册时的邮箱激活),整理了一份简单的资料与大家分享,在此感谢边老师指导和广大博友们的分享,才有此篇。
由于本人实战开发经验不是很足,在下文中知识点、工程图和代码中存在不妥的地方,还请多多留言。特此声明:此文仅作技术交流与探讨,不允许发垃圾邮件等破坏公共信息安全行为,出现任何问题与本人无关。
用户注册邮件激活,分为上下两篇为大家分享,上篇介绍此局部系统的概要设计 ,下篇为此局部系统详细设计用户注册激活邮件(下)。
系统部署
局部用例图
邮箱服务器
邮箱服务器的简单构图如图所示。
SMTP服务器
主要发邮件,SMTP 服务器就是遵循SMTP 协议的发送邮件。
SMTP协议(Simple Mail Transfer Protocol)
它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。
POP3服务器
主要接受邮件,POP3服务器遵循POP3协议接受邮件。
POP3协议(Post Office Protocol)
允许客户机通过(临时的或永久的)TCP/IP连接或其他网络协议的连接,从一个服务器(这时就称为POP3服务器)上获取电子邮件(E-MAIL)。
例子:
- 现有2个邮箱服务器分别为AemailServers和BemailServers;
- 2个邮箱服务器分别有用户AemailUser,BemailUser,AemailUser给BemailUser发送一封邮件。
- 邮箱服务器中的SMTP服务器分别用AemailSMTPServers,BemailSMTPServers表示;
- 邮箱服务器中的POP3服务器分别用AemailPOP3Servers,BemailPOP3Servers表示;
- 2个用户储存空间分别用AemailUserSpace,BemailUserSpace表示;
邮件发送时序图
邮件接收时序图
下篇请点击用户注册激活邮件(下)
用户注册发送激活邮件(上)相关推荐
- java实现通过QQ邮箱发送激活邮件 springBoot
用户邮件激活 通过QQ邮箱发送激活邮件 soringBoot 本文主要介绍了使用java 调用邮箱发送邮件的功能 首先新建一个springboot项目 pom依赖如下 <parent>&l ...
- Django-Celery异步发送激活邮件,以及注意点
1.Celery介绍 点击查看Celery参考文档 Celery是一个功能完备即插即用的任务队列 Celery适用异步处理问题,比如发送邮件.文件上传,图像处理等等比较耗时的操作,我们可将其异步执行, ...
- Java实现注册时发送激活邮件验证
在很多网站注册的时候,为了验证用户信息的真实合法,往往需要验证用户所填邮件的准确性.形式为:用户注册时填写邮箱,注册完成后,网站会向用户所填邮箱发送一封激活邮件,用户点击激活邮件中的链接后,方可完成注 ...
- java 发送激活邮件 以qq邮箱为例
java发送激活邮件 以qq邮箱为例 1.首先发送者邮箱需要开启服务 登录qq邮箱,选择设置--账号,开启以上两个服务.会获得相应的两个授权码 2.以下代码为发送邮件代码 package com.em ...
- django自带邮件模块实现用户注册激活邮件发送
最近在看慕课网的利用Django搭建教学网站的视频,其中碰到了给注册用户发送激活邮件的问题.期间也遇到了一些小问题,在此记录一下. 实现邮件发送流程 利用django.core.mail模块下的sen ...
- 基于springboot实现注册功能发送激活码至邮箱激活账户登录
文章目录 激活原理 运行说明(重点) 实例演示(重点) 代码说明 项目结构图 准备工作 emailactivate项目详细代码 common UUIDUtils config DruidDbConfi ...
- 使用Springboot异步发送模板邮件完成注册功能
目录 1.使用Springboot发送模板邮件并测试 1.添加依赖 2.配置application.properties 3.编写HTML邮件模板 4.编写发送邮件工具类 5.测试 2.在用户使用邮箱 ...
- Discourse 论坛激活邮件问题
根据 Discourse 的官方推荐,我们使用的是 MailGun 的服务. 在大部分情况下都没有问题,但是在一些特定的邮件地址,例如 iCloud,我们在发送激活邮件的时候有提示为: "m ...
- java实现用户注册邮箱激活验证
功能:通过邮箱注册账号,注册成功会向邮箱发送激活邮件.提示用户登录邮箱进行账户激活,方可使用账号. 流程:本质上就是向user表里新增一条数据,user表中应有一个code字段存放随机串.code在添 ...
最新文章
- 记录 grafana登录 从 go 迁移到 php
- 生产环境子域降级记录
- 手动加支付宝遇到的错误--iOS
- 关于Git使用的一些心得
- vim cheat-sheet
- 连续内存分区式内存管理
- vs2017+pcl1.8.1配置
- Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
- InstallShield安装与部署
- CESM笔记——CAM和CAM-Chem学习资料推荐
- blast 数据库说明
- Tier-1 ISP Tier-2 ISP and Tier-3 ISP
- 化工过程开发与工程思维
- 商业智能系统在税务行业的应用
- java企业号开发教程_详解java微信企业号开发之开发模式的开启步骤
- 培训python开发 骗局
- ManyPixels 插画素材分享
- uniapp开发的H5网页,以表单形式调起微信H5支付
- 在2022年需要使用的25个最佳GOOGLE CHROME扩展
- 八字四柱排盘原理及源码(PHP、Java和Python)
热门文章
- php 开源 内容管理,RQCMS - 内容管理CMS - PHP开源项目 - 开源吧
- 打破双亲委派机制有什么用_tomcat打破双亲委派机制
- 万字长文炸裂!手撕 STL 迭代器源码与 traits 编程技法
- 【DL】第 4 章:自回归模型
- 输入法智能联想 Java_[Android6.0][MTK6737] 修改默认输入法为 Sogou
- Spring框架搭建
- 后台架构实战——Spring框架搭建
- git clone 报错fatal: unable to access ‘https://github.com/xxxx‘: OpenSSL SSL_read
- 2019 苹果开发者上架流程
- 无线网络数据传输的相关知识