通用邮件自动发送Winform控件开发(一)

朋友需要在自己项目中添加一个邮件自动发送的功能(声明一下,不是专门群发垃圾邮件的,因为有许多相同的邮件需要发送,试用人工比较费时费力),我思考了一下,准备写一个Winform控件,放在任意窗体后直接可以开始操作邮件自动发送,需求如下:

1.邮件发送人信息需要保存在SQL、Access、MySQL、Excel或者TXT文本文档中

2.邮件收件人信息也需要保存在SQL、Access、MySql、Excel或者TXT文本文档中

3.邮件收件人信息后缀可以自定义,例如定义为“@XXXX.com”,如果自定义后缀,系统在发件时自动添加,否则直接使用提取的地址

4.邮件发送记录保存,系统应能配置发送记录是否保存,如果保存,可以选择保存在Excel、SQL、Access或者MySql中

5.为了避免投递邮件时被误认为是垃圾邮件,所以需要设置邮件发送间歇时间,设置间歇时间阈值,在阈值范围内随机抽取等待时间,等待完成后发送邮件,继续随机抽取等待时间发送下一份邮件

6.邮件标题保存在txt文本文件中,可以设置多个邮件标题,系统随机抽取(避免被认为是垃圾邮件)

7.邮件正文以HTML文件形式保存在硬盘中,随机抽取正文发送(避免被认为是垃圾邮件)

8.记录系统日志

9.记录系统崩溃记录

下面是系统架构图:

模块说明:

Utility:负责与数据载体通信,包括Access、Excel、SQL Server、MySql、TXT的数据写入和查询等操作,该项目内分别有处理上诉五种数据载体的五个类。

AppSettings:因为涉及到很多配置,所以这里将配置文件的读取和写入独立出来,该项目内单独一个类AppSetting

AccountInformation:获取和设置发件人以及收件人列表,该项目负责四件事情,根据调用对象传入的配置值在数据载体内查询发送人列表,查询接收人列表,编辑删除发送人列表,编辑删除收件人列表

SendMails:依赖AccountInfoemation项目获得收件人里列表和发件人列表,通过配置文件保存的系统配置进行邮件发送任务,该项目包括以下三个类,一个类负责获取收件人列表和发件人列表,一个类用于发送一封邮件的标准邮件发送类,一个类通过配置信息自动发送邮件。

Controls:界面项目。

后面的连载将逐步说明每个项目内的类实现,欢迎大家讨论。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值