文档介绍:SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。
目录
详细简介
协议原理
个人SMTP服务器的配置方法
工作过程
安全和垃圾邮件
服务扩展
通讯模型
通信安全
详细简介
协议原理
个人SMTP服务器的配置方法
工作过程
安全和垃圾邮件
服务扩展
通讯模型
通信安全
展开
编辑本段详细简介
SMTP 是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。
SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即“ SMTP 邮件中继”。通常,
  
SMTP
一个网络可以由公用互联网上 TCP 可相互访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。
在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。
在传输文件过程中使用25号端口
编辑本段协议原理
SMTP-简单邮件传输协议(SimpleMailTransferProtocol),是定义邮件传输的协议,它是基于TCP服务的应用层协议,由RFC0821所定义。SMTP协议规定的命令是以明文方式进行的。为了说明SMTP的工作原理,我们以向163发送邮件为实例进行说明。
在linux环境下,使用"telnet . com 25". com的25号端口(SMTP的标准服务端口);在windows下使用telnet程序,. com,而端口号指定为25,. com:交互过程如下:
  
SMTP
[******@nslix]$telnet . com 25
220 163 .com Anti-spam GT for Coremail System (163com[071018])
HELO .com
250 OK
auth login
334 dXNlcm5hbWU6
USER base64加密后的用户名
334 UGFzc3dvcmQ6
PASS base64加密后的密码
235 Authentication successful
MAILFROM:******@163 .COM
250 Mail OK
RCPTTO:******@163 .COM
250 Mail OK
DATA
354 End data with .
QUIT
  
SMTP
250 Mail OK queued as smtp5,D9GowLArizfIFTpIxFX8AA==.41385S2 1211766217
HELO是客户向对方邮件服务器发出的标识自己的身份的命令,这里假设发送者为ideal;MAILFROM命令用来表示发送者的邮件地址;RCPTTO:标识接收者的邮件地址,这里表示希望发送邮件给******@163. COM,如果邮件接收者不是本地用户,例如RCPTTO:ideal,则说明希望对方邮件服务器为自己转发(Relay)邮件,若该机器允许转发这样的邮件,则表示该邮件服务器是OPENRELAY的,否则说明该服务器不允许RELAY;DATA表示下面是邮件的数据部分,输入完毕以后,以一个"."开始的行作为数据部分的结束标识;QUIT表示退出这次会话,结束邮件发送。
这就是一个简单的发送邮件的会话过程,其实当使用outlookexpress等客户软件发送时,后台进行的交互也是这样的,当然,SMTP协议为了处理复杂的邮件发送情况如附件等等,定义了很多的命令及规