日度归档:2011 年 03 月 13 日

SMTP简单邮件传输协议 – 用telnet发送电子邮件

以前对互联网感兴趣的时候,很早就接触HTTP和FTP协议而一直没有关注SMTP协议是因为在这方面应用的需求比较少。
我的博客使用SMTP来给评论者发送邮件通知,但使用的是邮件中转服务器,需要验证账号之后提交给中转服务器发送。在PHP中使用此种方法发送邮件的实例可以参见:博客留言短信通知

下面用telnet实践另外一种方法,直接连接域名MX记录的地址,无须账号直接投递邮件。
假如现在要投递一封邮件到gmail.com去,如何获得gmail.com的MX记录呢?

最简单的方法是使用系统自带的nslookup等工具去查询DNS的信息。例如:

Z:\py>nslookup
默认服务器: ns3.gd.cnmobile.net
Address: 221.179.38.7

> set type=mx
> gmail.com
服务器: ns3.gd.cnmobile.net
Address: 221.179.38.7

非权威应答:
gmail.com MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
gmail.com MX preference = 20, mail exchanger = alt2.gmail-smtp-in.l.google.com
gmail.com MX preference = 30, mail exchanger = alt3.gmail-smtp-in.l.google.com
gmail.com MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com

gmail.com nameserver = ns3.google.com
gmail.com nameserver = ns2.google.com
gmail.com nameserver = ns4.google.com
gmail.com nameserver = ns1.google.com
ns1.google.com internet address = 216.239.32.10
ns2.google.com internet address = 216.239.34.10
ns3.google.com internet address = 216.239.36.10
ns4.google.com internet address = 216.239.38.10

继续阅读