SMTP的出现已经有一段时间了。它是当今在Internet上传送电子邮件的主要协议。正如其名字所表示的,它是一个简单的协议。SMTP服务器会侦听服务器上的一个TCP端口(通常是25号端口),用于检测是否有新的连接。当有一个客户端进行连接的时候,它就向服务器提供多条命令,例如谁在发送这条信息,这条信息的去向,以及这条信息的真正内容等等。
SMTP服务器负责解析信件接收者的地址,打包用于传送的信息,定位接收者的电子邮件服务器,以及传送该信息等工作。
SMTP的一个优越之处是其所具有的弹性。域名服务(Domain Name Service,DNS)在邮件的发送上扮演了一个非常重要的角色。收件人的电子邮件服务器是通过搜寻DNS里的邮件交换(Mail eXchange,MX)记录来定位的。事实上,收件人的电子邮件域(e-mail domain)里可能有多条MX记录,而它们分别指向不同的服务器。
你可以为每条MX记录指定一个优先值(preference value)。邮件服务器会尝试将信息发送给优先值最小的记录。例如,一个为10的优先值要比一个为100的优先值具有更高的优先权。当这个邮件服务器无法到达优先权最高的服务器时,这条信息就被发送给下一个优先权最高的服务器。
这条信息的目的地总是优先权最高的服务器,即使它被发送到优先权较低的服务器上。其他的服务器只是允许该信息离其目的地更近。任何没有被立即发送到目的地服务器的信息都会被放入队列进行等待,直到它被发送出去或者超时。