`
grantbb
  • 浏览: 271669 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

基于命令行的邮件群发程序

    博客分类:
  • JAVA
 
阅读更多

 

最近需要帮助 HR 写一个群发工资邮件的程序,这个程序考虑只有一个用户使用,尽可能简单,所以就决定实现一个基于命令行交互的小程序。以前是没怎么写过这种程序的,实际写下来发现,也没有那么容易,想写得好,给到用户一些提示,需要在这些交互动作以及文本提示的格式上下点功夫。

 

一开始想用以前的方式采用 Java System.in 来读取用户的输入进行交互,后来发现 java6 中的一个新的工具 Console 类,这个类提供了便捷的读取用户输入的方法,同时更加重要的是支持读取密码的方法:readPassword,这样用户在输入密码的时候就可以保证不被旁边的人看到,增强了一些安全性。

 

下面总结一下这个程序由最开始一个很快开发出来的可用版本,经过不断修改后变成一个比较完善的版本的过程。

程序一开始就采用 Spring 进行开发, Spring 已经封装好了一些发送邮件的类和 API 使用起来比较简单。开始测试就用的 Gmail SMTP 服务器。

这个程序考虑到邮件的内容可以不断的修改,所以一开始就采用了 Velocity 来实现邮件模板。

然后由于邮件发送的内容里面有很多的敏感信息,所以需要输入密码之后才能执行。密码采用 md5 进行加密。

发送成功后,要有统计的报告,比如:多少发送成功,多少发送失败,原因是什么,及时反馈发送的结果。

 

下面说说细节问题:

1 、一开始 Velocity 模板,按照自己的习惯就命名成 .vm 的扩展名。但是,这个文件以后需要使用者来编辑的,所以 .vm 扩展名,明显不方便直接编辑,所以后来就改成了 .txt 的扩展名。

2 、邮件的内容在模板里面,但是一开始标题是写在代码中的,这样就没有考虑以后修改邮件标题的可能。后来改成,邮件标题就是模板文件的标题。方便使用者更改和确认。

3 、程序打包后生成的 jar 包,这个一定要取一个正式的,清楚的名字。不要起一些通用的,容易误解的名字。

4 、邮件的附件由于是中英文混写的,所以还需要考虑外国人的阅读习惯,英文单词的前后一定要有空格。(要不然很可能那个国外大老板就会看着很不爽哦。)

5 、然后发送的过程中,这些可能变化的内容,包括标题,邮件内容要回显给用户,让用户再次确认。

6 、接下来要发会发送的列表以及发送的数目给到用户确认。

7 、内容和标题的确认要采用 | 分割,把格式弄得更加漂亮

8 、由于使用的人,发送者邮箱,邮件服务器都可能变化,所以一开始这些配置文件我放到 jar 包里面的 xml 中,但是发现普通用户是无法修改的,所以还是放到 jar 包外面,采用文本文件进行配置。

9 、发送邮件附件有乱码的问题,需要使用MimeUtility.encodeText(file.getName(), "utf-8", null)进行转码。

0
0
分享到:
评论

相关推荐

    基于ASP的简易邮件群发程序ASP.zip

    在基于ASP的邮件群发程序中,开发者通常会利用SMTP(Simple Mail Transfer Protocol)协议来发送邮件。SMTP是互联网上标准的邮件传输协议,它允许用户通过邮件服务器将邮件发送到其他用户的邮箱。 【ASP实现邮件...

    C#邮件群发winform程序

    【C#邮件群发winform程序】是一款基于C#编程语言和.NET框架开发的应用程序,专为实现电子邮件的批量发送而设计。它提供了一个用户友好的Windows桌面界面,方便用户进行邮件管理和群发操作。以下是该程序的关键知识点...

    k780邮件群发程序

    k780邮件群发程序更新日志 ========2012-05-12======== --新增-------------- 1.新增邮件内容编辑器。 2.可在系统设置中设置是否启用登录保护。 3.邮箱分类中显示该分类中邮箱条数。 --修改-------------- 1.修正因...

    基于PHP的k780 php邮件群发程序源码.zip

    【标题】: "基于PHP的k780 php邮件群发程序源码" 【描述】: "这个资源是一个基于PHP的邮件群发程序,名为k780,它提供了批量发送电子邮件的功能,常用于营销、通知或者客户服务等场景。源码的使用能够帮助开发者...

    Delphi邮件群发程序,源代码..rar

    Delphi邮件群发程序是一种基于Delphi编程环境开发的应用,用于高效地向多个收件人发送电子邮件。Delphi是Borland公司(现Embarcadero Technologies)开发的一款集成开发环境(IDE),它使用Object Pascal作为主要...

    基于命令行的飞信短信发送程序

    于是写了一个基于命令行的和大家分享。 该程序使用VC ++ 6.0编译通过,后面为程序直接运行时的帮助信息。 作者联系方式:wangzhen_bupt@263.net [飞信]短信发送程序(v1.0.0) 作者:王真 日期:2009年5月25日 ...

    基于PHP的k780php邮件群发程序源码.zip

    【标题】"基于PHP的k780php邮件群发程序源码.zip" 提供的是一套使用PHP语言编写的邮件群发系统。这个程序允许开发者或者网站管理员通过PHP脚本向大量用户发送电子邮件,常见于新闻通讯、营销邮件或者客户服务通知等...

    基于c#开发的邮件群发系统源码

    "基于C#开发的邮件群发系统源码"这一标题明确指出,这是一个使用C#编程语言编写的软件系统,其主要功能是实现邮件的批量发送。C#是微软公司推出的面向对象的编程语言,常用于构建Windows平台上的应用程序,尤其在...

    mailsend 命令行邮件工具

    :: 功 能 : 命令行邮件发送程序(群发\多附件\匿名) :: :: 原 理 : telnet收发邮件的原理 :: :: 最后更新 : 2007-11-12 :: :: 程序依赖文件:nc.exe;rar.exe;base64.exe :: :::::::::::::::::::::::::::::::::::::::::...

    [JAVA]-邮件群发程序

    邮件群发程序,由Java编写.程序由本人原创,如有问题可加我QQ(12356918)交流.

    电子邮件群发系统的设计与实现

    ### 电子邮件群发系统的设计与实现 #### 一、引言 随着个人计算机及互联网的广泛应用,电子邮件作为一种高效且低成本的通信方式,已深入到日常生活和工作中。它不仅改变了人们的交流方式,也在商业领域,尤其是...

    邮件群发系统ASP程序源码

    资源名:邮件群发系统ASP程序源码 资源类型:程序源代码 源码说明:1. 多个邮件地址发送邮件 2.可以选择发邮件人 3.后台添加email地址 3.access等中导入email地址 4.添加多组SMTP服务器,和邮件内容 5.html,文本...

    一个简单的邮件群发程序源代码(.C#)

    这是一个基于C#编程语言开发的简单邮件群发程序,名为"MailExpress",适用于Visual Studio .NET 2005开发环境。这个程序利用了.NET框架中的SMTP(Simple Mail Transfer Protocol)类来实现邮件的发送功能,使得用户...

    ASP源码—简易邮件群发程序ASP.zip

    这个"ASP源码—简易邮件群发程序ASP.zip"压缩包文件内包含的源码是一个基于ASP技术实现的简单邮件群发系统。在本文中,我们将深入探讨ASP的基本概念、邮件发送的原理以及如何通过ASP实现邮件群发功能。 首先,让...

    简洁版邮件群发程序源码.rar

    5.单个邮件的发送,邮件群发; 6.邮件全自动发送; 本程序特色: 自动变换发件箱,并适当延时发送,降低发送频率,提高发送成功率。   使用: 自动变换发件箱,并适当延时发送,降低发送频率,提高发送成功率...

    PHP实例开发源码—k780 php邮件群发程序源码.zip

    一个完善的邮件群发程序应包括单元测试和集成测试,确保邮件发送的正确性和稳定性。源码中可能包含测试用例,用于检查邮件发送的关键功能。 总的来说,K780 PHP邮件群发程序源码是一个涵盖了邮件发送、队列管理、...

    易语言QQ邮件群发

    在【描述】中提到的“QQ邮件群发”,是指通过程序自动化地向多个QQ邮箱用户发送邮件,这种功能通常用于营销推广、通知公告等场景。易语言QQ邮件群发源码则是实现了这一功能的程序代码,开发者可以依据源码学习如何...

    asp邮件群发源码,已测试!

    ASP邮件群发源码是一种基于Active Server Pages (ASP) 技术实现的电子邮件批量发送解决方案。ASP是微软开发的一种服务器端脚本环境,用于在Web服务器上创建动态、交互式的网页。邮件群发系统通常用于市场营销、客户...

    基于java spring邮件群发的demo

    在这个"基于Java Spring邮件群发的demo"中,我们将探讨如何利用Spring框架的邮件服务模块实现高效的邮件群发功能。同时,这个项目还涉及到了MySQL数据库和MyBatis持久层框架,这三者共同构成了一个完整的数据驱动的...

    多账户邮件群发系统源码

    系统可设置触发条件,比如自动发送欢迎邮件、生日祝福或基于用户行为的营销邮件。 7. **防屏蔽与反垃圾邮件策略**:邮件群发系统需要遵循互联网邮件发送的最佳实践,确保邮件内容符合反垃圾邮件政策,并采用技术...

Global site tag (gtag.js) - Google Analytics