首页 运维 网络学院 查看内容

用命令测试一台邮件服务器存活及运行状态

2017-3-1 10:04 |来自: 互联网 4390 0

摘要: 本文介绍一下如何通过telnet,命令讲解, Powershell脚本,以及在线检测工具.对邮件服务器进行排错检测首先,如果我们要查外部的邮件服务器,命令行 nslookup -q=mx contoso.com,如果是自己的邮件服务器就省去了这一步.有 ...

本文介绍一下如何通过telnet,命令讲解, Powershell脚本,以及在线检测工具.对邮件服务器进行排错检测

首先,如果我们要查外部的邮件服务器,命令行 nslookup -q=mx contoso.com,如果是自己的邮件服务器就省去了这一步.

有服务器IP之后,再用最简单的telnet命令,telnet x.x.x.x 25 如果长时间没有反应,基本上,服务器要么停了,要么不开放.



用命令测试一台邮件服务器存活及运行状态

一个正常的SMTP服务

如果我们要继续测试完整的命令完成一封邮件发送呢. 其实测试到helo就可以了.这里只是顺带把命令补全.实际中没有什么意义.

220 dc.lsm.local Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Tue, 28 Feb 2017 12:48:20 +0800

helo ## 通知服务器你要准备开始了,这里如果使用扩展ehlo会返回更多信息.

250 dc.lsm.local Hello [10.202.202.10] ## 服务器通知你没问题,请继续.

auth login ## 我们假设服务器需要帐号密码验证.请求服务器开始验证

334 VXNlcm5hbWU6 ##服务器返回 "Username:" Base64格式.下同

dXNlcg== ##输入用户名 user . 我这里已经用格式转换过

334 UGFzc3dvcmQ6 ##服务器返回 "Password:"

MTIzNDU2 ##输入密码

235 2.7.0 Authentication successful ##提示认证通过

mail from:[email protected]

250 2.1.0 [email protected] OK

rcpt to:[email protected]

250 2.1.5 [email protected]

data ##开始输入邮件数据

354 Start mail input; end with . ## 符号"." 结束邮件内容

from:"user"

to:"test"

subject:test message

hello

.

250 2.6.0 Queued mail for delivery ##提示邮件排队等候传递.

quit ## 使用些命令退出

221 2.0.0 dc.lsm.local Service closing transmission channel ## 提示传输通道关闭.

非常繁琐的命令之后,一封邮件就产生了.


如果我们要用命令行检查pop3我们同样也可以利用telnet 服务器IP 110

用命令测试一台邮件服务器存活及运行状态

一个正常的POP3服务

+OK Microsoft Windows POP3 Service Version 1.0 <[email protected]> ready. ##服务正常

user [email protected] ## 命令+用户名

+OK

pass 123456 ##命令+密码

+OK User successfully logged on ## 验证通过

list ##查看邮件.

+OK 0 messages (0 octets)

为什么要介绍命令行呢,相比较在线测试或者批处理脚.我们顺手就可以输入命令.讲究的是随手可得.


下面介绍一下powershell命令, ps就不多作介绍,已经完全取代msdos.

Powershell脚本1: 剪掉 ##注释,复制到powershell ISE 或 存成ps1运行

$EmailFrom = "[email protected]" ##发件人

$EmailTo = "[email protected]" ##收件人

$Subject = "Test123" ##邮件主题

$Body ="tttttttttttttttttttttttttt" ##邮件正文

$SMTPServer = "192.168.111.111" ## 邮件服务器

$SmtpServerPort)="25" ## 根据需要修改端口.25为默认,587为加密

$SMTPClient.EnableSsl = $true ##如果启用SSL加密保留些行,否则删掉.或改成 $false

$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer,$SmtpServerPort) ##调用.net命令.勿修改些行内容.

$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("admin","1234567"); ##调用.net命令 提供帐号密码

$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body) ##发送

Powershell脚本2, 一行命令完成测试.不要断行, 如果显示不美观 自己加 ` 符号换行.esc下面那个键.

Send-MailMessage -From "发件人" -Subject "主题" -To "收件人" -body "正文" -BodyAsHtml -Encoding ([System.Text.Encoding]::UTF8) -Port "端口" -SmtpServer "服务器" -UseSsl "是否启用SSL,不启用就去掉" -Credential 用户名

运行后弹出窗口输入密码既可完成测试


mxtoolbox.com,是一个本人使用非常久的邮局在线检测网站,非常良心的一个外国网站.提供在线smtp test ,dns,mx,header分析,blacklist检测.与国内在线工具网站满屏的广告相关,真的是一股清流.

本文出处: http://www.toutiao.com/a6392033942299771137/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除
1

路过

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (1 人)

  • 路过

    匿名

最新评论

返回顶部