热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用户注册发送激活邮件(上)

最近跟一位前辈学习了一个简单的业务模块(用户注册时的邮箱激活),整理了一份简单的资料与大家分享,在此感谢边老师指导和广大博友

最近跟一位前辈学习了一个简单的业务模块(用户注册时的邮箱激活),整理了一份简单的资料与大家分享,在此感谢边老师指导和广大博友们的分享,才有此篇。

由于本人实战开发经验不是很足,在下文中知识点、工程图和代码中存在不妥的地方,还请多多留言。特此声明:此文仅作技术交流与探讨,不允许发垃圾邮件等破坏公共信息安全行为,出现任何问题与本人无关。

用户注册邮件激活,分为上下两篇为大家分享,上篇介绍此局部系统的概要设计 ,下篇为此局部系统详细设计用户注册激活邮件(下)。


系统部署

部署图


 局部用例图

用例图


邮箱服务器

邮箱服务器的简单构图如图所示。


SMTP服务器

主要发邮件,SMTP 服务器就是遵循SMTP 协议的发送邮件。


SMTP协议(Simple Mail Transfer Protocol)

它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。


POP3服务器

主要接受邮件,POP3服务器遵循POP3协议接受邮件。


POP3协议(Post Office Protocol)

允许客户机通过(临时的或永久的)TCP/IP连接或其他网络协议的连接,从一个服务器(这时就称为POP3服务器)上获取电子邮件(E-MAIL)。

例子:


  • 现有2个邮箱服务器分别为AemailServersBemailServers;
  • 2个邮箱服务器分别有用户AemailUser,BemailUser,AemailUser给BemailUser发送一封邮件。
  • 邮箱服务器中的SMTP服务器分别用AemailSMTPServers,BemailSMTPServers表示;
  • 邮箱服务器中的POP3服务器分别用AemailPOP3Servers,BemailPOP3Servers表示;
  • 2个用户储存空间分别用AemailUserSpace,BemailUserSpace表示;

 


邮件发送时序图

发送邮件时序图


 邮件接收时序图

接收邮件时序图

下篇请点击用户注册激活邮件(下)


推荐阅读
  • php设置数组大小_【大厂必备】2020超经典PHP面试题
    结合我自己这段时间的面试情况,面对的一些php面试题列举出来,基本上结合自己的看法回答的,不妥的地方请大家指出去,与大家一起 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • 三小时掌握计算机网络基础(通俗易懂)
    目录1.网络层次划分2.OSI七层网络模型3.IP地址4.子网掩码及网络划分5.ARPRARP协议6.路由选择协议7.TCPIP协议8.UDP协议 9.DNS协议 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 【基础部分】之SMTP相关配置
    SMTP一、准备工作修改两个主机的主机名1.mailqq.qq.com2.mail163.163.com先配置dns邮件域名在mailqq.qq.com主机上配置dns配置etcn ... [详细]
author-avatar
乃君敏睿64
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有