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 发送邮件界面图

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

定时器的理论和使用

文章目录 一、定时器理论1.1定时器创建和使用 二、定时器实践2.1周期触发定时器2.2按键消抖 一、定时器理论 定时器是一种允许在特定时间间隔后或在将来的某个时间点调用回调函数的机制。对于需要周期性任务或延迟执行任务的嵌入式应用程序特别有用。 软件定时器: …

SpringBoot多模块项目MybatisPlus配置

项目目录 主模块配置 配置类 Configuration EnableTransactionManagement MapperScan("com.sms.**.mapper") public class MybatisPlugConfig {Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor mybatisPlusInterceptor new…

回复完成 输入框还显示值的问题

回复完成 输入框还显示值的问题 解决代码 先把id 值清空 再构建下这个输入框 $("#details_article_reply_content").val(""); // 清空textareavar editor editormd("article_details_reply", {width: "100%",height: "100%"…

网上有哪些赚钱的方法能一天赚二三十?盘点7个靠谱的搞钱副业和赚钱软件

想在家里躺着就能把钱赚?这不再是遥不可及的梦想!随着互联网的飞速发展,网上赚钱的方式层出不穷,总有一款适合你。 今天,就让我们一起揭开这些神秘面纱,看看哪些网上赚钱秘诀能让你轻松实现月入过万&#x…

C# OpenCvSharp DNN 黑白老照片上色

C# OpenCvSharp DNN 黑白老照片上色 目录 效果 项目 代码 下载 参考 效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.Runtime.InteropS…

你有没有调用过第三方接口?碰到过哪些坑?

在我们的业务开发中,调用第三方接口已经成为常态,比如对接一些ERP系统、WMS系统、一些数据服务系统等,它极大地扩展了我们应用的功能和服务范围。然而,实际对接过程中,我们往往会在这一环节遇到各种意想不到的问题&…

项目实施方案:多点异地机动车典型系统试验状态可视监控系统

目录 一、需求分析 1.1项目背景 1.2项目概述 二、系统优势 2.1兼容性能力强 2.2接入协议多样 2.3并发能力强 2.3.1 单平台参数 2.3.2 多平台性能参数 2.4 系统稳定性 三、建设目标 3.1安全性 3.2可扩展性 3.3易用性 3.4兼容性 3.5 响应能力 四、系统整体解决方…

单区域OSPF实验

实验目的: 理解OSPF的基本概念。掌握单曲于OSPF的配置掌握OSPF邻居状态的解读掌握通过Cost控制OSPF选路的方法掌握OSPF认证的配置方法 一、基础配置: 搭建实验拓扑图; 配置路由器接口的IP地址以及配置环回地址待后续使用 (1&a…

文献速递:深度学习医学影像心脏疾病检测与诊断--基于深度学习的低剂量SPECT心肌灌注图像去噪:定量评估与临床表现

Title 题目 Deep learning–based denoising of low‑dose SPECT myocardialperfusion images: quantitative assessment and clinical performance 基于深度学习的低剂量SPECT心肌灌注图像去噪:定量评估与临床表现 01 文献速递介绍 单光子发射计算机断层扫描&a…

Spring的IOC和AOP机制?

我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂。 主要用到的设计模式有工厂模式和代理模式。 IOC就是典型的工厂模式,通过sessionfactory去注入…

leetcode刷题指南

本文我将分享给大家一套我自己使用良久并觉得非常高效的 学习论,它可以运用到 Leetcode 上的刷题,也可以 generalize 到生活中涉及到学习以及记忆的方方面面。当然,本文将以 Leetcode 刷题为 case study 去进行讲解。 更具体一点, 我会教大家…

JavaScript的综合案例

案例要求&#xff1a; 实现一个表单验证 1.当输入框失去焦点时&#xff0c;验证输入的内容是否符合要求 2.当点击注册按钮时&#xff0c;判断所有输入框的内容是否都符合要求&#xff0c;如果不符合要求阻止表单提交 简单的页面实现 <!DOCTYPE html> <html lang&…

在阿里云服务器上安装MySQL

目录 一、先卸载不需要的环境 1.关闭MySQL服务 2.查看安装包以及卸载安装包 3.依次卸载所有包 4. 获取mysql官⽅yum源 二、安装&#xff08;密钥过期解决方法&#xff09; 三、启动并进入 关于MySQL MySQL是一个广泛使用的开源关系型数据库管理系统&#xff08;RDBMS&…

Linux中如何配置虚拟机网络(NAT方法)

首先我们要在Linux中找到配置文件的路径/etc/sysconfig/network-scripts/&#xff0c;然后找到配置文件的名称ifcfg-xxx&#xff08;如&#xff1a;ifcfg-ens33&#xff09;&#xff0c;然后打开这个文件内 容如下&#xff1a; TYPEEthernet # 指定网卡类型是以太网 BOOTPROT…

【平衡二叉树】AVL树(双旋)

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; C进阶 &#x1f389;其它专栏&#xff1a; C初阶 | Linux | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解AVL树的左双选和右双旋的相关内容。 如果看到最后您觉得这篇文章写…

C++基础语法之数组

一、一维数组 在C中&#xff0c;一维数组是一系列具有相同数据类型的元素的集合。它们在内存中是连续存储的&#xff0c;可以通过索引访问每个元素。 一维数组的声明形式如下&#xff1a; 数据类型 数组名[常量表达式] 例如&#xff1a; // 声明一个能存储10个整数的数组 in…

【AI学习】对指令微调(instruction tuning)的理解

前面对微调&#xff08;Fine-tuning&#xff09;的学习中&#xff0c;提到指令微调。当时&#xff0c;不清楚何为指令微调&#xff0c;也一直没来得及仔细学习。 什么是指令微调&#xff1f;LLM经过预训练后&#xff0c;通过指令微调提升模型的指令遵循能力。所谓指令&#xf…

车载GPT爆红前夜:一场巨头竞逐的游戏

在基于GPT-3.5的ChatGPT问世之前&#xff0c;OpenAI作为深度学习领域并不大为人所看好的技术分支玩家&#xff0c;已经在GPT这个赛道默默耕耘了七八年的时间。 好几年的时间里&#xff0c;GPT始终没有跨越从“不能用”到“能用”的奇点。转折点发生在2020年6月份发布的GPT-3&a…

【STM32】状态机实现定时器按键消抖,处理单击、双击、三击、长按事件

目录 一、简单介绍 二、模块与接线 三、cubemx配置 四、驱动编写 状态图 按键类型定义 参数初始化/复位 按键扫描 串口重定向 主函数 五、效果展示 六、驱动附录 key.c key.h 一、简单介绍 众所周知&#xff0c;普通的机械按键会产生抖动&#xff0c;可以采取硬件…

注意力机制篇 | YOLOv8改进之在C2f模块引入反向残差注意力模块iRMB | CVPR 2023

前言:Hello大家好,我是小哥谈。反向残差注意力模块iRMB是一种用于图像分类和目标检测的深度学习模块。它结合了反向残差和注意力机制的优点,能够有效地提高模型的性能。在iRMB中,反向残差指的是将原始的残差块进行反转,即将卷积操作和批量归一化操作放在了后面。这样做的好…