迅维网

邮件系统管理员的一项基本功:命令行发邮件

ddhan 2017-9-21 10:54


邮件系统管理员的一项基本功:命令行发邮件

  邮件服务器本身不是什么特别复杂的系统,一般来说,注册个域名,花钱买一台服务器,然后再装个邮件系统,就可以相当轻松地架设一个自己的邮件服务系统了,因此,机关、企事业单位架设自己的邮件服务器已经不是什么新鲜事。笔者所在单位亦有自己独立的邮件服务器。

  命令行方式发送邮件,无需通过专门的邮件客户端,打开命令行程序,随时可以发送邮件,也可以帮助快速检查邮件系统工作是否正常,这可以说是邮件系统管理员的一项基本功:

(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协议的理解还是大有裨益的。


雷人

握手

鲜花

鸡蛋

路过
收藏
来自: 今日头条
返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索