从服务器发送测试电子邮件以测试设置的最简单方法?


13

使用Windows(2008),有一个简单的命令行工具,可以用来从服务器发送测试电子邮件以测试SMTP,用户身份验证,端口等...,而无需自己编写?

Answers:


17

您最好,最简单和最全球化的工具:telnet

  1. 在命令提示符下,键入:telnet mail.mailserver.com 25
  2. 键入EHLO,然后按Enter。
  3. 输入AUTH LOGIN。服务器以加密的提示提示您输入用户名。

    输入以base 64加密的用户名。您可以使用几种可用于编码用户名的工具之一。

    服务器将以加密的base 64提示符响应,提示您输入密码。输入以base 64加密的密码。

  4. 键入MAIL FROM :,然后按Enter。如果不允许发件人发送邮件,则SMTP服务器返回错误。

  5. 键入RCPT TO :,然后按ENTER。如果收件人不是有效的收件人,或者服务器不接受该域的邮件,则SMTP服务器返回错误。

  6. 键入DATA。

    如果需要,键入消息文本,按Enter,键入一个句点(。),然后再次按ENTER。

    如果邮件工作正常,您应该看到类似于以下的响应,表明邮件已排队等待传递:

    250 2.6.0 MAILID-SOMETHINGHERE@mail.somedomain.com。

引用了此MS Technet文章的一部分


哈哈,我不引述这是否“简单”,但这肯定是一种万无一失的方法。
马克·亨德森

这很容易...幸运的是,我不需要进行身份验证(本地服务器),因此我不必担心base64编码,尽管有许多可用的站点可以在必要时为我提供帮助。
杰森

15

对我来说,最简单的方法是在Powershell中使用Send-MailMessage。在Powershell控制台中,只需运行:

PS C:\Users\admin> Send-MailMessage -SMTPServer smtp.domain.com -To xxxxx@gmail.com -From youremail@domain.com -Subject "This is a test email" -Body "Hi, this is a test email sent via PowerShell to test the STMP relay server"

加载更多选项可以在此链接上找到:


1
有用的
Powershell

4

如果您必须不时测试一次,或者仅对少量SMTP服务器进行测试,那么正如指出的那样,telnet可能是最方便的工具。关于telnet的最好的事情是它是几乎通用的工具,它不仅使您可以测试SMTP服务器,而且还可以测试其他服务,例如POP,IMAP等。

但是,如果您定期或大规模进行此测试,则强烈建议使用swaks。它非常易于使用,还可以执行其他任务,例如发送附件(这对于测试邮件内容过滤器很有用)。

它还将为您提供有用的退出代码,以便您甚至可以使用它来执行自动化测试。

我在Linux上经常使用它,但是作为Perl脚本,您应该可以在Windows机器上运行它而不会出现任何问题。


九年后,我也可以推荐燕子。在Mac OS上,使用进行安装brew install swaks
tuomassalo



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.