用Java编程实现SMTP服务器功能
来源:asp之家 发布时间:2010-03-13 18:46:00
子邮件传递可以由多种协议来实现。目前,在Internet网上最流行的三种电子邮件协议是SMTP、POP3和IMAP,下面分别简单介绍。
◆SMTP协议
简单邮件传输协议(SimpleMailTransferProtocol,SMTP)是一个运行在TCP/IP之上的协议,用它发送和接收电子邮件。SMTP服务器在默认端口25上监听。SMTP客户使用一组简单的、基于文本的命令与SMTP服务器进行通信。在建立了一个连接后,为了接收响应,SMTP客户首先发出一个命令来标识它们的电子邮件地址。如果SMTP服务器接受了发送者发出的文本命令,它就利用一个OK响应和整数代码确认每一个命令。客户发送的另一个命令意味着电子邮件消息体的开始,消息体以一个圆点“.”加上回车符终止。
◆POP3协议
邮局协议(PostOfficeProtocolVersion3,POP3)提供了一种对邮件消息进行排队的标准机制,这样接收者以后才能检索邮件。POP3服务器也运行在TCP/IP之上,并且在默认端口110上监听。在客户和服务器之间进行了初始的会话之后,基于文本的命令序列可以被交换。POP3客户利用用户名和口令向POP3服务器认证。POP3中的认证是在一种未加密的会话基础之上进行的。POP3客户发出一系列命令发送给POP3服务器,如:请求客户邮箱队列的状态、请求列出的邮箱队列的内容和请求检索实际的消息。POP3代表一种存储转发类型的消息传递服务。现在,大部分邮件服务器都采用SMTP发送邮件,同时使用POP3接收电子邮件消息。
◆IMAP协议
Internet消息访问协议(InternetMessageAccessProtocol,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服务器的连接。


猜你喜欢
- 不管是Windows2000或者是WindowsXP,系统默认的注册表编辑器都不能摆脱这样的事实:只要是修改注册表键值,就必须在注册表编辑中
- 备份管理员通常采用传统的物理备份解决方案,可能会误认为VCB是对虚拟数据中心的完整解答,因此还需要为VCB做好充足的准备和调研。选购VMwa
- 网站一定要做出自己的特色,和同类站点站点比较,你的站有什么优势?内容上的优势最能拉住访客,页面亲和度也是不可忽视的,如果两个内容差不多的站,
- 无论是企业还是站长,做网站都是要给人看的。如果没人看,那么网站也就白做了。这次,我不引用“根据叉叉部门权威统计,现在百度
- 概述上篇说到构建良好的架构,依托于基础设施建设(自动化测试、自动化部署、服务监控,服务发现、配置中心等等),决定成败的往往是基础设施建设,所
- 首先介绍下,本人做站一年多,朋友都喜欢称呼我静水,一开始自己什么都不懂通过朋友介绍用了DEDE做了一个文章站,刚开始的时候感觉还不错,没有出
- 现今的网络,安全越来越受到大家的重视,在构建网络安全环境时,在技术手段,管理制度等方面都逐步加强,设置防火墙,安装入侵检测系统等等。但网络安
- 前言最近工作中遇到一个需求,需要将程序的输出写到终端,同时写入文件,通过查找相关的资料,发现可以用 tee 命令实现,首先来解释一下 tee
- 1.在百度提交网址但现在百度自动收录的速度已经让众人所知,所以提出以下的方法。紧供所有的seo爱好者参详,学习。2.创建百度空间一般来说,创
- 一、apache、php、mysql安装1.安装php分步式安装:下载php:wget http://cn2.php.NET/get/php
- 高效管理服务器一直离不开有效的服务器管理技巧,尽管你已经掌握了不少这方面的技巧,但服务器还有许许多多的技巧在等着你的总结,等着你的挖掘;这不
- 攻击者可以通过反弹技术使我们对DDOS攻击更难以防御——利用反弹服务器反弹DDOS的洪水包,也就是说,通过发送大量的欺骗请求数据包(来源地址
- 基本概念在操作前,首先要了解一些基本概念磁盘在Linux系统中所有的设备都会以文件的形式存储。设备一般保存在/dev目录下面,以sda、sd
- Linux系统为Ubuntu一、Start Apache 2 Server/启动apache服务# /etc/init.d/apache2
- 很多电影网站,论坛或其它机构为了方便会员或成员上传电影或者交流文件,都允许用户的上传权限,因为只有允许这个权限,用户才可以上传文件,但这个权
- 昨天在VMware下新装CentOS7,本来想利用ftp将tomcat包传进去,但发现没有安装ftp,就使用“ yum -y install
- 大多数人都有过这样的经历,在浏览网页的时候,经常不知误点哪个按钮,就会莫名其妙打开一个网站,这些网站或是“挂马网站”,只要点击就会中“木马病
- 修改配置文件 conf/httpd.conf 1.加入下面两句 NameVirtualHost *:80 Include conf/vhos
- 怎样用google adwords赚钱呢?首先当然是要有一个google adwords帐户了,接着是充money了(现在好像有免费赠送50
- 由于各种原因,我们有时候需要在一个IP地址上建立多个web站点,在IIS5中,我们可能通过简单的设置达到这个目标。在IIS中,每个 Web