论文部分内容阅读
【摘要】随着社会的发展,科技的进步,作为信息载体的计算机日益显露出其举足轻重的地位。当今社会已步入了信息社会,知识经济将成为新世纪的主导产业。人们传统的联系方式也在不断的被改变。伴随着Internet的发展,电子邮件以其使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻等等优点被广泛地应用,它使人们的交流方式得到了极大的改变。电子邮件已是人们沟通、交流的重要工具。
【关键词】现代化;邮件;系统
【中图号】TP393.098【文献标示码】A【文章编号】1005-1074(2009)03-0057-01
1邮件发送
随着网络应用的不断推广,电子邮件越来越多的被大家使用。虽然我们往往将电子邮件与Foxmail、Outlook这样的电子邮件客户端联系起来,但是往往我们也需要自己编程实现发送接收邮件,例如在一个网站注册用户后网站发出的回执mail,或者在网络购物的时候,在完成订单后的几分钟之内发送确认电子邮件。对于这样的需求,我们不能通过已有的邮件客户端而需要自己编写邮件发送或者处理程序。在这里向大家讲解一下如何利用JavaMail来实现邮件的收发。
1.1发送带附件的邮件我们平时发送的邮件主要可以分解成2大部分,一个是发信人,接信人,主题等邮件标头,另外一部分是邮件内容,它包括了邮件的附件。我们在发送普通邮件的时候content设置的类型是"text/html",带上附件后,我们需要把content的类型设置成Multipart,这时content包括了附件和"text/html"类型的正文。在发mail时需要注意字符集的问题。不但content里要设置,而且文件名也需要设置,而且文件也去掉mbp.set File Name(Mime Utility.encode Word(fds.get Name),"GB2312",null);这句话,那么你选中的附件还是会带到邮件里,但是在附件里看不到。可以通过查看邮件大小知道。我们利用这个特点来实现发送content中写的是html语言,而且包含图片信息的邮件。
1.2发送content中包含html页面的邮件大家都知道html语言可以带上图片链接,那么我们在发送邮件的时候就需要对这些链接的图片做特殊处理。否则在对方接收到邮件的时候会看不到图片。我们特殊处理的方法就是把它们当成附件发送,但不显示在附件里。要做到这些就首先需要对输入的content进行解析,找到所带图片的路径。然后把content中这段代码变成。我们在发送附件的时候用。
1.3接收带附件的邮件在带有附件的邮件中,消息的内容是Multipart型,这样我们就需要解析它来得到content和附件(它是发送带附件的邮件的逆向过程)。在使用outlook、foxmail这些电子邮件客户端的时候会发现,我们的邮件被从服务器上下载下来并且保存到本地硬盘上了,这种方式方便我们离线浏览邮件。
2邮件的接收功能的实现
在JavaMail中,接收文本邮件和HTML格式邮件的处理方法基本上是一致的。在这个程序中,首先,由用户输入邮件服务器,由用户给出邮箱的用户名和密码,登陆邮件服务器查看邮件。此程序,仍然使用HTMT页面作为用户输入信息页面,之后采用JSP和JavaBean的方法显示用户邮箱中邮件的数目和查看单封邮件。
3邮件过滤
3.1IP地址过滤根据预先存储在文本文档里的IP进行IP地址过滤,当接收到邮件,如果和文本文档里的IP地址相匹配,则说明这是一封非法邮件,否则是正常邮件。在Java中用Filter实现IP过滤的一种算法。
如何将IP地址转化为十进制数。我们通常在BBS或网上下载的IP地址数据库中的IP地址并非是我们常见的格式(61.175.232.30),而是这种(1034938398)类型的数据,看起来这两个数据好像没有关连,很复杂,其实并不复杂,以“61.175.232.30”这个IP地址为例,IP地址转换成数字串方法如下:先将“61.175.232.30”转换为十六进制“3d.af.e8.1e”,然后去掉小数点后,变为“3dafe81e”,最后将这个十六进制数转换为十进制“1034938398”,那么“61.175.232.30”就变为“1034938398”了。其实网上的IP地址过滤解决并非那么复杂,我们可以用“折半查找”法逐步缩小范围,以求最终解决问题。如果局域网内计算机TCP/IP设置为“指定IP地址”,则检查重点放在IP地址、子网掩码、DNS、网关及WINS的相关设置上提到用ip2addr函数直接读取IP数据库,二进制文件折半法:0.092,可见二进制文件折半法还比MySQL法略有优势。
3.2域名过滤把一些自定义的域名或一些本来就有的域名存储在文本文档里,当接收到邮件,就和文本文档里的那些域名逐字比较,比完第一个字母就去那些第一个字母和发过邮件的域名第一个字母不一样的域名,然后就进行比较第二个,第三个,直到比较完为止,如果比较完的域名和文本文档里其中一个相匹配,则认为这是一封非法邮件,如果比较完了也没有一个匹配的就认为正常邮件。JavaMail API中带的文档是很有用的。您能够在JavaMail下的/docs/javadocs/index.html找到他。第二部分主要将分析邮件程式的组件。您能够通过阅读文档来获得更多这方面的信息。组件发送邮件需要使用JavaMail,他使对邮件的操作变得简单易用。
建数法过滤域名步骤:设置域名过滤的步骤如下:①打开“安全设置”主菜单,进入“域名过滤”子菜单。③选中“开启域名过滤”选项启用域名过滤功能。③在“生效时间”栏内填入您希望本条规则生效的起始时间和终止时间。时间请按hhmm格式输入,例如0803,表示8时3分。④在“域名”栏内填入被过滤的网部的域名或域名的—部分,为空表示禁止访问所有网站。如果您在此处填入某一个字符串(不区分大小写),则局域网中的计算机将不能访问所有域名中含有该字符串的网站。⑤选中“启用”,启用本条过滤规则。⑥单击“保存”完成设置。
参考文献
[1]钟忺,刘春燕.基于JavaMail API的邮件认证与接收[J].计算机与数字工程,2007,(3)
【关键词】现代化;邮件;系统
【中图号】TP393.098【文献标示码】A【文章编号】1005-1074(2009)03-0057-01
1邮件发送
随着网络应用的不断推广,电子邮件越来越多的被大家使用。虽然我们往往将电子邮件与Foxmail、Outlook这样的电子邮件客户端联系起来,但是往往我们也需要自己编程实现发送接收邮件,例如在一个网站注册用户后网站发出的回执mail,或者在网络购物的时候,在完成订单后的几分钟之内发送确认电子邮件。对于这样的需求,我们不能通过已有的邮件客户端而需要自己编写邮件发送或者处理程序。在这里向大家讲解一下如何利用JavaMail来实现邮件的收发。
1.1发送带附件的邮件我们平时发送的邮件主要可以分解成2大部分,一个是发信人,接信人,主题等邮件标头,另外一部分是邮件内容,它包括了邮件的附件。我们在发送普通邮件的时候content设置的类型是"text/html",带上附件后,我们需要把content的类型设置成Multipart,这时content包括了附件和"text/html"类型的正文。在发mail时需要注意字符集的问题。不但content里要设置,而且文件名也需要设置,而且文件也去掉mbp.set File Name(Mime Utility.encode Word(fds.get Name),"GB2312",null);这句话,那么你选中的附件还是会带到邮件里,但是在附件里看不到。可以通过查看邮件大小知道。我们利用这个特点来实现发送content中写的是html语言,而且包含图片信息的邮件。
1.2发送content中包含html页面的邮件大家都知道html语言可以带上图片链接,那么我们在发送邮件的时候就需要对这些链接的图片做特殊处理。否则在对方接收到邮件的时候会看不到图片。我们特殊处理的方法就是把它们当成附件发送,但不显示在附件里。要做到这些就首先需要对输入的content进行解析,找到所带图片的路径。然后把content中这段代码变成。我们在发送附件的时候用。
1.3接收带附件的邮件在带有附件的邮件中,消息的内容是Multipart型,这样我们就需要解析它来得到content和附件(它是发送带附件的邮件的逆向过程)。在使用outlook、foxmail这些电子邮件客户端的时候会发现,我们的邮件被从服务器上下载下来并且保存到本地硬盘上了,这种方式方便我们离线浏览邮件。
2邮件的接收功能的实现
在JavaMail中,接收文本邮件和HTML格式邮件的处理方法基本上是一致的。在这个程序中,首先,由用户输入邮件服务器,由用户给出邮箱的用户名和密码,登陆邮件服务器查看邮件。此程序,仍然使用HTMT页面作为用户输入信息页面,之后采用JSP和JavaBean的方法显示用户邮箱中邮件的数目和查看单封邮件。
3邮件过滤
3.1IP地址过滤根据预先存储在文本文档里的IP进行IP地址过滤,当接收到邮件,如果和文本文档里的IP地址相匹配,则说明这是一封非法邮件,否则是正常邮件。在Java中用Filter实现IP过滤的一种算法。
如何将IP地址转化为十进制数。我们通常在BBS或网上下载的IP地址数据库中的IP地址并非是我们常见的格式(61.175.232.30),而是这种(1034938398)类型的数据,看起来这两个数据好像没有关连,很复杂,其实并不复杂,以“61.175.232.30”这个IP地址为例,IP地址转换成数字串方法如下:先将“61.175.232.30”转换为十六进制“3d.af.e8.1e”,然后去掉小数点后,变为“3dafe81e”,最后将这个十六进制数转换为十进制“1034938398”,那么“61.175.232.30”就变为“1034938398”了。其实网上的IP地址过滤解决并非那么复杂,我们可以用“折半查找”法逐步缩小范围,以求最终解决问题。如果局域网内计算机TCP/IP设置为“指定IP地址”,则检查重点放在IP地址、子网掩码、DNS、网关及WINS的相关设置上提到用ip2addr函数直接读取IP数据库,二进制文件折半法:0.092,可见二进制文件折半法还比MySQL法略有优势。
3.2域名过滤把一些自定义的域名或一些本来就有的域名存储在文本文档里,当接收到邮件,就和文本文档里的那些域名逐字比较,比完第一个字母就去那些第一个字母和发过邮件的域名第一个字母不一样的域名,然后就进行比较第二个,第三个,直到比较完为止,如果比较完的域名和文本文档里其中一个相匹配,则认为这是一封非法邮件,如果比较完了也没有一个匹配的就认为正常邮件。JavaMail API中带的文档是很有用的。您能够在JavaMail下的/docs/javadocs/index.html找到他。第二部分主要将分析邮件程式的组件。您能够通过阅读文档来获得更多这方面的信息。组件发送邮件需要使用JavaMail,他使对邮件的操作变得简单易用。
建数法过滤域名步骤:设置域名过滤的步骤如下:①打开“安全设置”主菜单,进入“域名过滤”子菜单。③选中“开启域名过滤”选项启用域名过滤功能。③在“生效时间”栏内填入您希望本条规则生效的起始时间和终止时间。时间请按hhmm格式输入,例如0803,表示8时3分。④在“域名”栏内填入被过滤的网部的域名或域名的—部分,为空表示禁止访问所有网站。如果您在此处填入某一个字符串(不区分大小写),则局域网中的计算机将不能访问所有域名中含有该字符串的网站。⑤选中“启用”,启用本条过滤规则。⑥单击“保存”完成设置。
参考文献
[1]钟忺,刘春燕.基于JavaMail API的邮件认证与接收[J].计算机与数字工程,2007,(3)