命令行方式发送邮件,无需通过专门的邮件客户端,打开命令行程序,随时可以发送邮件,也可以帮助快速检查邮件系统工作是否正常,这可以说是邮件系统管理员的一项基本功: (1)以telnet方式远程登录邮件系统 telnet mail.xxx.cn 25 这里需要注意,要加这个25端口号,这是SMTP协议的默认端口号,当然,在此之前,或许应该用:nslookup -q=mx xxx.cn 检查一下域名xxx.cn的MX记录,这里假定具有MX记录对应的域名为mail.xxx.cn。 (2)向邮件服务器“打招呼” helo xxx.cn (此处,也可用ehlo的命令形式。在这里,可根据服务器返回信息,判断邮件服务器是否需要进行验证,或许还有些SMTP服务器是不需要验证的,但现在多数都需要验证了。) (3)输入auth login,进行SMTP验证,如下图所示: mail from: 250 Mail OK rcpt to: 250 Mail OK data //邮件头和正文开始 354 End data with subject:Hi, I have good news for you //邮件标题 //这里要回车空一行 Hello, this is just a test sent by command line....... //正文 . //英文实心句点,别忘了这个,且单独占一行 250 Mail OK queued as mx11,PcCowJCbD+1iPnBNIMuKBA--.10409S2 1299201718 quit //退出 221 Bye //以数字开头的是邮件服务器的返回信息,借此判断每一步是否正常。当然,这种方式也是有条件的,有的邮件服务器设置了一些反垃圾邮件或者是其他限制措施。所以这种方式不能保证都能正常实现。不过以此来加深对SMTP协议的理解还是大有裨益的。 |