| 邮件服务器本身不是什么特别复杂的系统,一般来说,注册个域名,花钱买收到其他维修同行的一台服务器,然后再装个邮件系统,就可以相当轻松地架设一个自己的邮件服务系统了,因此,机关、企事业单位架设自己的邮件服务器已经不是什么新鲜事。笔者所在单位亦有自己独立的邮件服务器。 命令行方式发送邮件,无需通过专门的邮件客户端,打开命令行程序,随时可以发送邮件,也可以帮助快速检查邮件系统工作是否正常,这可以说是邮件系统管理员的一项基本功: (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验证,如下图所示: 服务器返回信息里有:250-AUTH LOGIN,这说明服务器是需要验证的。值得注意的是,这里输入的用户名和密码,并非是明码,而是Base64编码以后的。因此,验证之前,你需要将你的用户名和密码进行Base64编码,可以用工具或自己编个程序来实现,网上也有在线编码工具 (如:www.base64encode.org)。334 dXNlcm5hbWU6,这个是服务器让你输入用户名的;334 UGFzc3dvcmQ6,这个是服务器让你输入密码的,这两条返回信息本身也是base64编码了的。(4)验证成功之后,及可用几个传统的命令发邮件了 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协议的理解还是大有裨益的。 |
|Archiver|手机版|家电维修论坛
( 蜀ICP备19011473号-4 川公网安备51102502000164号 )
GMT+8, 2026-1-12 06:08 , Processed in 0.143767 second(s), 16 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.