从服务器发送testing邮件到testing设置最简单的方法?

使用Windows(2008)是否有一个简单的命令行工具,我可以使用从服务器发送testing电子邮件来testingSMTP,用户身份validation,端口等,而不写我自己的?

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

  1. 在命令提示符处,键入:telnet mail.mailserver.com 25
  2. 键入EHLO,然后按ENTER键。
  3. inputAUTH LOGIN。 服务器以您的用户名的encryption提示响应。

    input以base 64encryption的用户名。您可以使用几种可用于编码用户名的工具之一。

    服务器以encryption的base 64提示input密码。 input以64为底的encryption密码。

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

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

  6. 键入DATA。

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

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

    250 2.6.0 [email protected]

部分从MS Technet文章中引用

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

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

加载更多的选项可以在这个链接find:

如果这是你偶尔需要testing的东西,或者只是less量的SMTP服务器,那么telnet可能是最方便的工具,正如已经指出的那样。 关于telnet的最好的事情是它几乎是一个通用的工具,它不仅可以testingSMTP服务器,还可以testingPOP,IMAP等其他服务。

但是,如果你正在进行定期或更大规模的testing,我强烈推荐使用swaks 。 它非常易于使用,还可以执行其他任务,如发送附加文件(这可以用于testing您的邮件内容filter)。

它也会给你有用的退出代码,这样你甚至可以使用它来执行自动化testing。

我经常在Linux上使用它,但作为一个Perl脚本,你应该可以在Windows上运行而不会有任何问题。

如果您不想手动运行整个SMTP事务,则可以使用命令行工具(如blat)发送电子邮件。

Telnet到端口25并手动发送SMTP命令通常可以达到这个目的。