电子邮件传递可以由多种协议来实现。目前,在inte.net 网上最流行的三种电子邮件协议是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 协议
inte.net 消息访问协议(inte.net 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服务器的连接。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器