快速业务通道

Java设计防病毒电子邮件程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
ash;接收消息的人的电子邮件地址。在例子中它是秘密电子邮件帐号。它是程序启动时的命令行参数。

· smtpServer(smtp服务器)——对你进行身份验证以发送电子邮件消息的smtp服务器的标识。它也是程序启动时的命令行参数之一。

· tag(标记)——它是消息被转发到接收者之前插入主题开始部分的字符串。我使用的是来自公共电子邮件服务器的原始消息编号,你可以改变它。

· pathFileName(文件名和路径)——将转发到秘密电子邮件帐号的消息的标识。

Java设计防病毒电子邮件程序(6)

时间:2010-09-13

本地变量

下面的方法声明并初始化了方法后面将使用的本地变量:

StringBuffer message = new StringBuffer("No message found");

SmtpClient构造函数

前面提到的文档提供了类的两个重载的构造函数:

· 一个用于建立未初始化的SMTP客户端。

· 另一个用于建立连接到特定主机的新SMTP客户端。

try{ SmtpClient smtp =new SmtpClient(smtpServer);

上面的代码使用了第二个构造函数,它实例化一个连接到用户在命令行参数中提供的smtpServer的SmtpClient对象。

from()方法

尽管起面提到的文档没有提高该方法的描述,但是可以直观地推导得出该方法需要接收发送消息的人的电子邮件地址。

smtp.from(recipient);

它需要一个可能存在的电子邮件地址

在例子中,实际上根本不关心电子邮件是谁发送的,也就是说它是一个可能存在的电子邮件地址。秘密电子邮件帐号的客户端程序将从消息头部的From:行中得到消息的发送者。

(但是有必要给from方法传递一个可能存在的电子邮件地址。否则它会产生一个异常。你可能非常奇怪,为什么from方法不执行什么操作却存在。你传递到from方法的电子邮件地址将显示在消息头部的Return-Path中,图3中有例子。)

由于我知道接收者的电子邮件地址是可能存在电子邮件地址,我就把接收者的电子邮件地址作为消息的发送者传递到from方法中。

to()方法

这个方法需要把预计的消息接收者的电子邮件地址作为参数。代码把接收者的电子邮件地址传递给to()方法:

smtp.to(recipient);

StartMessage方法

这个方法得到并返回一个PrintStream对象用于建立消息:

PrintStream msg = smtp.startMessage();

上面的代码调用startMessage方法得到PrintStream对象的指针,并把该指针保存在变量msg中。

得到字符串形式的全部的消息

下面的代码调用readLines方法得到来自pathFileName指定的文件的全部的消息,并把它转换成一个String对象:

message = new StringBuffer(readLines(pathFileName,null,null));

请注意,上面的代码给readLines传递了两个空(null)参数,指示它使用文件中的所有文本行构建并返回字符串。

Java设计防病毒电子邮件程序(7)

时间:2010-09-13

把标记插入主题行

下面的代码执行如下操作:

· 把输入参数tag的值直接地插入主题行,在当前主题之前。

· 把消息从StringBuffer对象转换成String对象,并调用println方法把它插入输出流。

message = message.insert0(message.indexOf("Subject: ")+9,tag); msg.println(new String(message));

发送消息

下面的代码调用SmtpClient对象上的closeServer方法:

//关闭流并发送消息 smtp.closeServer(); return true; }catch( Exception e ){  System.out.println("\n" + e);  System.out.println("Forwarding email");  Toolkit.getDefaultToolkit().beep();  try{   Thread.currentThread().sleep(300);  }catch(Exception ex){  System.out.println(ex); }// catch结束 Toolkit.getDefaultToolkit().beep(

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号