• 邮件代收代发功能模块的操作界面设计和阶段性总结


    大约半年前,一个客户希望给他开发一个代收代发的功能模块,只需要一个后台的服务进行自动收取和发送邮件,因此我结合了我自己的定时服务程序,增加了一个基于Lumisoft组件的邮件发送和收取插件模块,整合了一个邮件的代收代发的自动化服务程序。做完这些程序的开发,也撰写了好几篇的技术随笔文章,感觉也有一定的成就感。

    基于Lumisoft的技术随笔如下:

    基于Lumisoft.NET组件的SMTP账号登陆检测

    基于Lumisoft.NET组件开发碰到乱码等一些问题的解决

    基于Lumisoft.NET组件的POP3邮件接收和删除操作

    基于Lumisoft.NET组件和.NET API实现邮件发送功能的对比

    基于定时服务的模块开发技术随笔

    Winform开发框架之通用定时服务管理

    Winform开发框架之通用定时服务管理2---如何开发定时服务应用 

    一、邮件代收代发的服务模块

    言归正传,本篇随笔主要介绍在我原来的代收代发的服务模块基础上增加相关的处理界面,首先先来了解这个应用的主要应用场景:在一些企业内部,可能有很多员工需要在一个应用平台上统一处理邮件的发送和接收工作,而不用为获取某个账号,到不同的邮件平台上进行邮件的处理。这样做有几个好处,一是使员工能够集中、统一处理邮件的相关操作,二可以把相关的邮件数据留在我们的业务平台上,三是能够管理多个账号的邮件收发等等。

    为了实现邮件的即使收发,我们必须实现数据的处理延时问题,如果处理的太慢,就不能达到较好的效果,如果处理的太快---那就最好不过了,但是会耗费过多的硬件资源。

    因此我使用了基于WIndows服务的操作,企业的服务器那是相当可以的,处理瓶颈不存在问题,也尽可能把间隔的发送、接受操作设置的更加及时一些。

    邮件代收代发的应用程序,具有下面几个特点:

    1)通过Windows服务驻留在服务器系统中,提供更及时、更高效的响应服务。

    2)通过SMTP协议发送邮件和POP3协议获取邮件,支持大多数邮箱的邮件收发操作。

    3)邮件收取和发送采用多线程进行处理,更好利用服务器资源。

    该邮件代收代发服务,通过寄宿在Windows服务上,可以更好利用Windows的资源,软件提供一个基于Winform的程序主界面进行服务的安装、卸载、系统配置信息管理等相关的管理工作。

    定时服务的管理界面如下所示。

    二、邮件代收代发的界面设计

    为了实现以上的邮件收发和删除的服务操作,我们需要设计几个业务场景:

    1)配置邮件账号信息

    2)待发送的邮件存储,发送后邮件存储到发送历史里面。

    3)指定接收账号的配置信息

    4)接收的邮件存储

    5)发送和接收的邮件的附件存储

    下面分别对这几个模块的界面进行一个大致的介绍。

    1、配置邮件账号信息

    关于邮件账号的SMTP账号检测实现,可以参考我上一篇随笔《基于Lumisoft.NET组件的SMTP账号登陆检测

    对于多账号,我们需要用一个列表进行展示,方便操作管理,列表界面如下所示。

    2、待发送的邮件存储

    待发送的邮件,一般来说每封邮件内容可以不同,也可以设计为批量发送,邮件引用不同的内容即可,看具体的需要。

    如果是前者,可以设计界面如下所示。

    如果是用于营销推广方面,邮件的内容可能很多相同,如果每次发送都存储一样的邮件正文,则需要很大的存储空间,我们可以设计为只存储邮件明细的ID,把邮件标题和内容抽离进行独立维护。

    邮件内容独立保存,在需要给多个客户发送邮件的时候,则选择邮件即可,邮件内容和发送邮件分离的界面如下所示。

    上面两种应用场景,分别是不同业务的代表。

    另外,邮件的内容编辑,可以选用基于富文本的RichEdit控件,关于DevExpress里面的RichEdit控件的使用,可以参考我之前的随笔文章:《DevExpress控件使用之RichEditControl的使用

    邮件内容编辑也可以选用一种开源的Zeta HTML Edit Control,一个基于Winform的HTML编辑控件,具体可以参考我前面的随笔介绍:《 分享一个Winform里面的HTML编辑控件Zeta HTML Edit Control,汉化附源码

    整个系统的界面场景还涉及到邮件发送界面设计、邮件接收账号配置、邮件接收列表的展示等方面,由于篇幅原因,本文就不再介绍,如果园友对文章比较支持,将会在下一篇继续介绍相关的界面设计思路及心得。

    需要继续了解的园友,也可以到我的官方网站(http://www.iqidi.com)上,下载客户关系管理系统进行这方面的设计界面了解。

     3、Winform开发框架介绍

    Winform开发框架详细了解可以访问:http://www.iqidi.com/Framework/info.html 

     

  • 相关阅读:
    【Node.js】Jade视图模板的使用
    【Node.js】新建一个NodeJS 4.X项目
    【Node.Js】npm国内被墙的解决方法
    【AngularJS学习笔记】Java Script "use strict" 严格模式
    【Linux学习笔记】Linux-CentOS下安装Redis
    【Linux学习笔记】常用命令速记
    【AngularJS学习笔记】封装一些简单的控件(封装成Html标签)
    数组和切片1
    Go错误处理机制及自定义错误
    内置函数
  • 原文地址:https://www.cnblogs.com/wuhuacong/p/3550959.html
Copyright © 2020-2023  润新知