• 开源项目 开发心得 (1) 之 Mail Monitor(邮件监测器) Part I.(概述)


    这是开发心得系列的第一篇,希望开个好头。

    说明:开发心得并不会特别强调高效/技巧,只谈技术的实现,但我很欢迎有更好的实现方法。

    前言:在过去的两个星期里面,我在工余时间用C#开发了利用我做admin的开源项目OpenPOP.NET做的Mail Monitor(邮件监测器),把OpenPOP.NET的所有功能特性都应用到其中了,而且都是开源的(http://sourceforge.net/projects/hpop/)。最新的版本可以在这里获取:https://files.cnblogs.com/unruledboy/OpenPOP.zip

    目的:在开发Mail Monitor(邮件监测器)的过程中,我特别地意识到用各种.NET技术,尽量展现.NET的特性,尽管我没有对性能特别优化。

    需求:Mail Monitor(邮件监测器)的需求最初来源于要为OpenPOP.NET写一个全面体现其特性的例子,后来鉴于自己平时邮件比较多,但不方便经常去接收,所以特别照顾这个需求,写成了今天这个Mail Monitor(邮件监测器),用以实时检测各个自定义邮件账户是否新邮件到达,如果有,自动给予提示,并能直接查看内容和保存附件(或许这是其它同类软件没有实现的),目前只支持POP协议,因为核心是OpenPOP.NET,没有实现对MAPI/HTTP Mail等的支持,不过我们正在开发其它协议,相信很快会推出。

    设计:为了照顾OpenPOP.NET的用户,我选择使用C#作为开发语言;为了减少依赖,我使用对象序列化来保存配置和邮件列表信息,并直接保存邮件源文件到本地加快浏览速度。Mail Monitor(邮件监测器)要实现的功能很简单,主要是检测新邮件。我这样设计UI:
      1、主页面为账户(邮箱)列表,显示邮箱名称、邮件数、检测时间和当前操作状态,菜单、工具栏和状态栏的设计也没有什么特别的;
      2、当用户双击邮箱,马上下载所有该邮箱的邮件列表;
      3、在邮件列表中,用户可以选择删除邮件,双击邮件可以查看邮件内容,这个时候Mail Monitor(邮件监测器)自动保存完整的邮件源文件到本地;
      4、在邮件内容页面,用户可以保存附件(如果有),另存为本地EML文件,或者直接打开本地EML文件查看内容;
      5、在配置页面,用户可以定义Mail Monitor(邮件监测器)的运行模式,邮件到达提醒方式和管理邮箱(账户)。

    实现OpenPOP.NET已经做得很好了,支持完整的POP协议,Mail Monitor(邮件监测器)需要做的只是调用其功能而已。

    (待续)...
  • 相关阅读:
    VUE-周日历的实现
    Mac电脑部分网页打不开怎么办
    python pytesseracct WinError2
    Windows Error的错误代码
    python pytesseract——3步识别验证码的识别入门
    python——pyinstaller踩的坑 UnicodeDecodeError
    python 处理excel踩过的坑——data_only,公式全部丢失
    Python3行代码之——截图工具
    python openpyxl内存不主动释放 ——关闭Excel工作簿后内存依旧(MemoryError)
    pywintypes.com_error: (-2147352567, '发生意外 解决方案
  • 原文地址:https://www.cnblogs.com/unruledboy/p/16143.html
Copyright © 2020-2023  润新知