ASP.NET邮件收发程序的设计与开发

摘    要

《邮件收发程序的设计与开发》是一个综合性的程序设计,涉及到界面、系统、数据库、协议、编码等多个方面的内容。本设计前台采用.NET技术,后台数据库采用SQL Server 2000,语言采用C#,主要讲述了邮件系统的注册、登陆、管理、发送和接收邮件等基本功能及设计方法。在系统分析中先后用系统的结构图分析了邮件系统,包括功能流程和功能分析,数据库表格。在整个系统的设计中,详细的展现了用户系统的各个功能模块,菜单的设计等。同时在系统的实现中,给出了实现表单中相应的后台数据库服务,前台功能控件的事件及代码以及界面实现的方法。最后,对系统设计的各个功能做了相应测试,并给出了相关设计页面截面的直观图。

关键字C#;邮件系统;SQL Server数据库

2.2  工作原理分析

电子邮件的工作原理:

1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。

其各个界面是基于asp.net编写的,而实现各个控件功能的代码则是基于c#的。

2) 电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的—个电子信箱。并确定—个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。

3) 电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与另—个邮件系统进行传递和交换。收方在取信时,使用特定账号从信箱提取。

3.1  模块的划分与功能设计

通过对用户需求调研并进行了分析,确定邮件收发系统的功能模块主要划分为三部分:用户管理、邮件管理、邮件收发。

各模块的具体功能设计如下:

1)用户管理:

包括用户注册,用户注册登录,对注册用户进行权限设定,对注册用户的添加和删除等,对于一个完善的电子邮件系统来说,用户管理是很重要的,通过它可以对文件、信件、用户资料等加以保密。此外,也可以设置用户的管理级,使用户更好的使用和管理邮件。

2)邮件管理:

包括对邮件的移动,邮件修改,邮件删除以及新建邮件夹等。这个是电子邮件最基本应该具有的功能,使用户很方便的使用和管理自己的邮件,同时也节省了很多空间,如今,网络上垃圾邮件非常多,控制和删除便显得由为重要了。

3)电子邮件的发送:

用户运行该程序后,可以设置:收件人地址、寄件人地址、发送邮件的标题,发送邮件的正文、附件。

4)电子邮件的接收:

运行电子邮件接收程序后,就能够很轻松的查看邮件。邮件中将显示发件人、主题、内容和发送时间以及相关的附件等等。此外,该应用程序还能够顺利的浏览多封电子邮件。

接收和发送邮件则是邮件系统最为重要的一个功能模块了,也是人们使用他的真正目的,它很容易的让人们进行通信。

系统功能模块设置:

  1. 用户注册:未注册用户需注册后才能进入系统。
  • 操作对象:所有未注册用户。
  • 浏览对象:所有未注册用户。
  • 具体操作:注册用户在需填写用户名和密码才能注册。
  1. 用户登录:对注册用户和管理员的基本信息进行操作。
  • 操作对象:系统管理员
  • 浏览对象:系统管理员
  • 具体操作:用户使用注册成功的帐户名和密码登陆。
  1. 用户管理:合法用户可以查看库存所有用户的信息资料。
  • 操作对象:注册用户、管理员
  • 浏览对象:注册用户、管理员
  • 具体操作:管理员可以更改用户的名称,用户的密码,用户邮件地址,用户权限等用户的详细信息。
  1. 邮件管理:合法用户可以查看库存所有邮件的信息资料。
  • 操作对象:注册用户、管理员
  • 浏览对象:注册用户、管理员
  • 具体操作:管理员可以将邮件从一个文件夹转移到另一个文件夹。具体内容包括邮件标题,邮件内容,邮件创建时间,邮件创建用户名,附件内容等。同时,还能对邮件内容进行编译。
  1. 邮件收取:用于接收和查询来自其他用户发送的邮件
  • 操作对象:注册用户、管理员
  • 浏览对象:注册用户、管理员
  • 具体操作:管理员在收件夹中可查询接收邮件的名称,发送用户,发送地址,发送时间,信件内容以及相关附件。
  1. 邮件发送:用语发送邮件和邮件附件
  • 操作对象:注册用户、管理员
  • 浏览对象:注册用户、管理员
  • 具体操作:用户可以进入写邮件界面编写邮件和发送邮件,包括邮件标题,邮件内容,附件等并发送给目的地址。

3.4  模块的组织结构

邮件收发系统是一个数据共享网站,采用了B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。用户使用从用户注册开始,流程如下:

图3 总体流程架构

图4 总体功能架构图

5.1 用户注册功能界面演示

未注册用户在登录界面中点击“注册”,然后系统跳转到注册界面,在注册界面中未注册用户在“用户名”栏中填入“yy”,点击“检测该用户名是否可用”按钮,系统显示该“用户名可以使用”,说明这个用户与系统用户名没有重复,可以使用。然后输入密码“123”与确认密码“123”,最后按“注册新用户”,这时候在系统中就生成了一个名为“yy”的用户。

图13 用户注册界面图

接着进入登录界面,输入刚注册的用户“yy”,密码“123”以及正确的验证码,这里是“56789a”,如图:

图14 邮件管理界面图

然后我们我们通过登陆“yy”这个用户进入系统,查看该注册用户的信息。进入用户管理页面后,我们可以看到注册用户的信息,并且能对用户进行操作。我们可以看到如图界面:

图15 用户管理界面图

5.2  管理功能界面演示

在通过注册、登陆后进入到主界面,可进行管理。这里可以很清楚的看到各个邮件夹及当中邮件的信息情况,当中可以对邮件进行管理,包括邮件删除,邮件转移等。在运行到上个界面时点击“邮件管理”进入到如下界面:

图16 管理功能界面演示图

还可以根据自己的需要创建自己的邮件夹,比如创建“yy’s email”如图:

图17 新建文件夹界面图

5.3  接收送功能界面演示

点击任何文件夹都可以查看其中的文件内容,比如点击了收件箱则跳转到如下界面:

图18 查看文件夹界面图

然后选择要查看的邮件,比如这里查看第一封邮件“AliasName Email”如图:

图19 查看邮件界面图

同样。发送邮件直接点击新邮件,内容包括手件人,主题,抄送人地址,内容,附件等,如图:

图20 发送邮件界面图

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C. Sort Zero

题目描述 思路分析: 记住他是要保证这个数列是不降的,也就是说如果某一个位置上的数变成了0,那么这个数前面的部分一定全都是0了,我们用map数组得到每一个数出现的最晚的位置,先从后向前遍历一遍,找出从哪开始出现了递减,然后标记下来结束即可,看看前面的每一个数都要用st标记是…

[笔试训练](二十二)064:添加字符065:数组变换066:装箱问题

目录 064:添加字符 065:数组变换 066:装箱问题 064:添加字符 添加字符_牛客笔试题_牛客网 (nowcoder.com) 题目: 题解: 枚举所有A,B字符串可能的对应位置,得出对应位置不同字符数量的最小情况 两字符串的字符数量差n-m&…

【C++】string|迭代器iterator|getline|find

目录 ​编辑 string 1.string与char* 的区别 2.string的使用 字符串遍历 利用迭代器遍历 范围for遍历 反向迭代器 字符串capacity 字符串插入操作 push_back函数 append函数 运算符 ​编辑 insert函数 substr函数 字符串查找函数 find函数 rfind函数 …

Diffusion Inversion技术

Diffusion Inversion技术 在图像生成/编辑领域中,Inversion 技术是指将一张(真实)图片转换为生成模型对应的 latent,要求将这个 latent 输入到生成模型中之后,能够重构出原始图片。这项技术是进行图像编辑的重要基础。…

四川汇聚荣:拼多多开店流程分享

随着电商行业的蓬勃发展,越来趀多的创业者选择在线上平台开设店铺。其中,拼多多以其独特的团购模式和巨大的用户基数成为众多商家的新宠。但对于初次涉足的商家而言,如何正确高效地开设一家拼多多店铺,无疑是他们迫切需要解决的难…

Windows安装Linux子系统

WSL 是 Windows Subsystem for Linux 的简称,意思是 linux 版的 window 子系统。适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。 Linux 分发版可以在…

下单制造fpc的工艺参数

FPC工艺简介 - 百度文库 (baidu.com) FPC工艺参数 - 豆丁网 (docin.com) FPC柔性线路板的主要参数.ppt (book118.com) 捷多邦: 华秋: 背胶: FPC板背胶是可以粘接在光滑表面的一种薄型胶带,可以在狭小以及光滑的表面上用来提供高…

[MRCTF2020]PixelShooter

是个安卓游戏题 re手肯定不会去玩游戏,先jadx分析一波 没有什么关键信息,但找到了一个unity类,想到apk也可以解压缩得到 .so 或者 Assembly-CSharp.dll 故又在dnspy分析一下 看了半天没有和flag有关信息,看wp: Asse…

深入理解K8S【安全认证机制kubectlconfig】

深入理解K8S【安全认证机制】 1 核心概念 1.1 安全体系 对于大型系统来说,对业务的权限、网络的安全认证是必不可少的。 对于linux系统来说,用户和组、文件权限、SELinux、防火墙、pam、sudo等,究其核心的目的都是为了保证系统是安全的。 …

Charger之三动态电源路径管理(DPPM)

-----本文简介----- 主要内容包括: 领资料:点下方↓名片关注回复:粉丝群 硬件之路学习笔记公众号 Charger的动态电源路径管理(DPPM) 前篇内容:①电池管理IC(Charger)了解一下&…

过滤器Filter和拦截器Interceptor实现登录校验

一.过滤器 Filter过滤器可以把对资源的请求拦截下来,从而实现一些登录验证的功能 1.Filter的快速入门 1.定义Filter:定义一个类,实现Filter接口,并重写其所有方法。2.配置 public class dofilter implements Filter {Override //初始化只…

汇聚荣电商:拼多多开店需要多少费用?

想要在拼多多这个巨大的电商平台上开一家属于自己的店铺,很多创业者都会关心一个问题:开店需要多少费用?答案并不复杂,但背后的经营哲学和策略却值得深究。接下来,让我们从四个不同的方面来详细探讨这个问题。 一、开店成本分析 …

【教程】Linux/Jetson 安装X11VNC同步屏幕内容

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,请不吝给个[点赞、收藏、关注]哦~ 目录 背景说明 实际效果 安装步骤 安装 x11vnc 配置 x11vnc 配置 x11vnc 作为系统服务 使用 VNC 客户端连接 背景说明 通常vnc-server是单…

汇昌联信电商:拼多多网店好做吗?

在电子商务的海洋中,拼多多以其独特的团购模式和亲民策略迅速崛起,吸引了大批消费者和商家的目光。对于“拼多多网店好做吗?”这个问题,答案并非简单的是与否,而是需要从多个维度进行深入分析。 一、市场定位与竞争环境 拼多多定…

基于STM32F401RET6智能锁项目(BS82166A_3触摸按键)

一、BS81x 特征 • 工作电压:2.2V~5.5V • 低待机电流 • 自动校准功能 • 可靠的触摸按键检测 • 自动切换待机 / 工作模式 • 最长按键输出时间检测 • 具备抗电压波动功能 • Level Hold,可选高有效或低有效 • NMOS 输出内建上拉电阻 /CMOS 直接 输出…

PDF文件恢复:四种实用方法全解析

如何恢复已删除的PDF文件? PDF是Portable Document Format(便携式文档格式)的缩写,是一种由Adobe Systems开发的文件格式。PDF文件可以包含文本、图形、链接、多媒体以及其他各种元素,并且能够在各种操作系统和设备上…

[uniapp] 配置ts类型声明

我想引进图片,但是报错 声明一下就行 TypeScript 支持 | uni-app官网 创建tsconfig.json文件,复制官网的配置 然后在随便一个目录下写一个随便名字的.d.ts文件 例如这样 保存就行 因为ts是默认扫描全部的,所以要按照官网的写法 把不必要的排除掉就行,免得浪费性能

力扣HOT100 - 279. 完全平方数

解题思路&#xff1a; 动态规划 class Solution {public int numSquares(int n) {int[] dp new int[n 1];// 初始化dp数组&#xff0c;默认最坏情况是每个数都是由1相加得到的for (int i 1; i < n; i) {dp[i] i;}for (int i 1; i < n; i) {for (int j 1; j * j &…

H5嵌入原生----兼容安卓与ios

主要分UI展示&#xff0c;键盘&#xff0c;输入框等等。解决bug最苦恼的问题不是没有解决方案&#xff0c;而是你没有找到真正的原因。再就是现象难以重现&#xff0c;每次都要发布代码&#xff0c;然后到手机app中去测试&#xff0c;模拟。这些地方会耗费大量的精力。 一、UI…

C++ C# 贝塞尔曲线

二阶贝塞尔曲线公式 三阶贝塞尔曲线公式 C 三维坐标点 二阶到N阶源码 //二阶公式&#xff1a; FVector BezierUtils::CalculateBezierPoint(float t, FVector startPoint, FVector controlPoint, FVector endPoint) {float t1 (1 - t) * (1 - t);float t2 2 * t * (1 - t);…