Jason Asked: 2009-08-05 10:10:30 +0800 CST2009-08-05 10:10:30 +0800 CST 2009-08-05 10:10:30 +0800 CST 从服务器发送测试电子邮件以测试设置的最简单方法? 772 使用 Windows (2008) 是否有一个简单的命令行工具,我可以使用它从服务器发送测试电子邮件以测试 SMTP、用户身份验证、端口等......而无需自己编写? testing smtp windows-server-2008-r2 6 个回答 Voted Best Answer Dave Drager 2009-08-05T10:20:16+08:002009-08-05T10:20:16+08:00 您最好、最简单、最全球化的工具:telnet 在命令提示符下,键入:telnet mail.mailserver.com 25 键入 EHLO ,然后按 ENTER。 键入身份验证登录。服务器响应您的用户名的加密提示。 输入以 base 64 加密的用户名。您可以使用可用于对用户名进行编码的多种工具之一。 服务器以加密的 base 64 提示输入您的密码作为响应。输入以 base 64 加密的密码。 键入 MAIL FROM:,然后按 Enter。如果不允许发件人发送邮件,则 SMTP 服务器会返回错误。 键入 RCPT TO:,然后按 Enter。如果收件人不是有效的收件人或服务器不接受此域的邮件,则 SMTP 服务器将返回错误。 键入数据。 如果需要,键入消息文本,按 ENTER,键入句点 (.),然后再次按 ENTER。 如果邮件工作正常,您应该会看到类似于以下内容的响应,表明邮件已排队等待投递: 250 2.6.0 [email protected]。 部分引自此 MS Technet 文章 japinator 2015-06-19T03:56:45+08:002015-06-19T03:56:45+08:00 对我来说,最简单的方法是在 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" 可以在此链接上找到加载更多选项: alemartini 2009-08-05T20:09:03+08:002009-08-05T20:09:03+08:00 如果这是您必须不时测试的东西,或者只是针对少数 SMTP 服务器,那么 telnet 可能是最方便的工具,正如已经指出的那样。telnet 最好的一点是它几乎是一种通用工具,它不仅可以让您测试 SMTP 服务器,还可以测试 POP、IMAP 等其他服务。 但是,如果您定期或更大规模地执行此测试,我强烈建议您使用swaks。它非常易于使用,还可以执行其他任务,例如发送附件(这对于测试您的邮件内容过滤器很有用)。 它还将为您提供有用的退出代码,以便您甚至可以使用它来执行自动化测试。 我经常在 Linux 上使用它,但是作为 Perl 脚本,您应该能够在 Windows 机器上运行它而没有任何问题。 John Gardeniers 2009-08-05T20:16:57+08:002009-08-05T20:16:57+08:00 如果您不想手动运行整个 SMTP 事务,您可以使用命令行工具(例如blat)来发送电子邮件。 Maximus Minimus 2009-08-05T10:20:46+08:002009-08-05T10:20:46+08:00 Telnet 到端口 25 并手动发出 SMTP 命令通常可以用于此目的。 Sanya Snex 2018-02-18T01:46:48+08:002018-02-18T01:46:48+08:00 您可以尝试为您完成工作的在线服务。您可以快速了解常见的 SMTP 服务器问题 https://checkeremail.com/smtp-check
您最好、最简单、最全球化的工具:telnet
键入身份验证登录。服务器响应您的用户名的加密提示。
输入以 base 64 加密的用户名。您可以使用可用于对用户名进行编码的多种工具之一。
服务器以加密的 base 64 提示输入您的密码作为响应。输入以 base 64 加密的密码。
键入 MAIL FROM:,然后按 Enter。如果不允许发件人发送邮件,则 SMTP 服务器会返回错误。
键入 RCPT TO:,然后按 Enter。如果收件人不是有效的收件人或服务器不接受此域的邮件,则 SMTP 服务器将返回错误。
键入数据。
如果需要,键入消息文本,按 ENTER,键入句点 (.),然后再次按 ENTER。
如果邮件工作正常,您应该会看到类似于以下内容的响应,表明邮件已排队等待投递:
250 2.6.0 [email protected]。
部分引自此 MS Technet 文章
对我来说,最简单的方法是在 Powershell中使用Send-MailMessage 。从 Powershell 控制台只需运行:
可以在此链接上找到加载更多选项:
如果这是您必须不时测试的东西,或者只是针对少数 SMTP 服务器,那么 telnet 可能是最方便的工具,正如已经指出的那样。telnet 最好的一点是它几乎是一种通用工具,它不仅可以让您测试 SMTP 服务器,还可以测试 POP、IMAP 等其他服务。
但是,如果您定期或更大规模地执行此测试,我强烈建议您使用swaks。它非常易于使用,还可以执行其他任务,例如发送附件(这对于测试您的邮件内容过滤器很有用)。
它还将为您提供有用的退出代码,以便您甚至可以使用它来执行自动化测试。
我经常在 Linux 上使用它,但是作为 Perl 脚本,您应该能够在 Windows 机器上运行它而没有任何问题。
如果您不想手动运行整个 SMTP 事务,您可以使用命令行工具(例如blat)来发送电子邮件。
Telnet 到端口 25 并手动发出 SMTP 命令通常可以用于此目的。
您可以尝试为您完成工作的在线服务。您可以快速了解常见的 SMTP 服务器问题
https://checkeremail.com/smtp-check