用Java实现SMTP服务器.doc
文本预览下载声明
电子邮件传递可以由多种协议来实现。目前,在Internet 网上最流行的三种电子邮件协议是SMTP、POP3 和 IMAP,下面分别简单介绍。 ◆ SMTP 协议 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一个运行在TCP/IP之上的协议,用它发送和接收电子邮件。SMTP 服务器在默认端口25上监听。SMTP客户使用一组简单的、基于文本的命令与SMTP服务器进行通信。在建立了一个连接后,为了接收响应,SMTP客户首先发出一个命令来标识它们的电子邮件地址。如果SMTP服务器接受了发送者发出的文本命令,它就利用一个OK响应和整数代码确认每一个命令。客户发送的另一个命令意味着电子邮件消息体的开始,消息体以一个圆点“.”加上回车符终止。 ◆ POP3 协议 邮局协议(Post Office Protocol Version 3,POP3)提供了一种对邮件消息进行排队的标准机制,这样接收者以后才能检索邮件。POP3服务器也运行在TCP/IP之上,并且在默认端口110上监听。在客户和服务器之间进行了初始的会话之后,基于文本的命令序列可以被交换。POP3客户利用用户名和口令向POP3服务器认证。POP3中的认证是在一种未加密的会话基础之上进行的。POP3客户发出一系列命令发送给POP3服务器,如:请求客户邮箱队列的状态、请求列出的邮箱队列的内容和请求检索实际的消息。POP3代表一种存储转发类型的消息传递服务。现在,大部分邮件服务器都采用SMTP发送邮件,同时使用POP3接收电子邮件消息。 ◆ IMAP 协议 Internet 消息访问协议(Internet Message Access Protocol,IMAP)是一种电子邮件消息排队服务,它对POP3的存储转发限制提供了重要的改进。IMAP也使用基于文本命令的语法在TCP/IP上运行,IMAP服务器一般在默认端口143监听。IMAP服务器允许IMAP客户下载一个电子邮件的头信息,并且不要求将整个消息从服务器下载至客户,这一点与POP3是相同的。IMAP服务器提供了一种排队机制以接收消息,同时必须与SMTP相结合在一起才能发送消息。 下面以SMTP发送电子邮件为例讲解怎样用Java 实现SMTP 服务器应用功能,从而完成邮件的发送的。 SMTP 命令 SMTP协议是目前网上流行的发送E-Mail的协议,SMTP协议共有14条命令。不过,发一封E-Mail只需用如下5条命令就足够了,分别为: ◆ HELO <SP> <domain> <CRLF> ,与SMTP服务器握手,传送本机域名; ◆ MAIL <SP> FROM:<reverse-path> <CRLF>,传送发信者的信箱名称; ◆ RCPT <SP> TO:<forward-path> <CRLF>,传送接收者的信箱名称; ◆ DATA <CRLF>,发送信件数据(包括信头和信体); ◆ QUIT <CRLF>,退出与SMTP服务器的连接。 URl收藏 /java/d520876060.html
java实现的18位身份证格式验证算法用Java实现FTP批量大文件上传下载(Java实现ftp功能冒泡排序算法的JAVA实现用Java实现音频播放用Java实现网络语音信号传送八皇后问题的java实现用java实现RSA算法用java实现ORACLE数据库的文件上传上楼梯算法的java实现 编程思路 首先我们设计一个邮件发送程序的交互界面,界面中包括用户输入邮件的收件人、发信人和主题组件的单行文本框,书写邮件内容的多行文本框等。然后为了能够实现E-mail的发送和设置,我们设计一个SmtpMail类,它封装了与邮件服务器之间的Socket 通信操作,以及SMTP 命令的发送和响应信息的接收。 编程技巧说明 1.设置窗体和组件 我们设计了一个MailSendFrame()类继承Frame 对象,作为容纳组件的主窗体。Main()函数实现将窗体启动时置于屏幕的正中央,窗口定义代码如下: public static void main(String[] args) {mailSendFrame mailSendFrame = new mailSendFrame();Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();Dimension frameSize = mailSendFrame.getSize();if (frameSize.height >
显示全部