
这是一个可以通过 SMTP 发送电子邮件的命令行工具。它不仅易于使用,而且在需要时还提供许多选项。
去年,我们发布了一篇博客文章,展示了如何使用无处不在且非常有用的telnet工具来检查SMTP连接。
下一步是通过使用一个非常棒的“下一等级”工具(它称自己为电子邮件的瑞士军刀)来简化手动过程,这个工具叫做SWAKS。这是一款命令行工具,可以通过SMTP发送电子邮件。它不仅易于使用,还能在需要时同时提供无数选项。
起初,我对大量选项感到害怕,但使用最基本的选项完全可行。如果您遇到任何问题,只需收藏此页面,复制并粘贴示例,然后根据需要进行修改。在本博客结尾时,一旦您熟悉并且对SWAKS命令没有太多变异/动态,我将向您展示如何创建一个预设所有默认参数的配置文件。这使得运行SWAKS只需按下一个按钮(好吧,“键”)即可实现!
在本练习中,我们将从CentOS 7服务器运行命令,但命令在所有支持的平台上都类似。如上所述,如果您被卡住,只需直接复制并粘贴到您的系统中,然后进行必要的修改。以下是基础:
安装
安装后,这里是发送消息的基本语法。在这个例子中,我们使用服务器的本地地址:
发送一条信息,包含“Subject”行标题 + 其他标题,并在正文中包含“Hello World!”文本:
这里是如何添加附件,SWAKS为您进行base64转换,非常适合测试消息大小限制:
你基本上已经掌握了基础知识!现在让我们看看您还可以如何提升设置。以下是一些想法:
使用调度程序如chron进行基本的“是否工作”测试,这可以作为基础或甚至增强您的监控系统。
测量连接和关闭邮件服务器连接时的延迟。
测试不同的TLS版本和密码
您不会独自一人在这里,我将教您如何完成上述所有操作。此次我们将注入到我们的SparkPost服务器中。
向我们的SparkPost服务器发送一条消息(如何创建API密钥,以及SMTP选项)。一旦您获得身份验证密钥,将其粘贴到命令中(确保保持密钥安全!):
如果您需要指导如何通过SMTP向我们的服务器发送故障排除,请查看我们的SMTP故障排除文章。对于基本的SMTP连接测试,您还可以使用手动telnet会话验证SMTP连接。
为了最好的安全实践,SparkPost已弃用所有旧的TLS版本,除了v1.2及以上。如果您想查看您的系统是否兼容,SWAKS允许您测试特定的TLS版本和密码。
在这个例子中,我们使用“tlsv1_2”,但请继续更改为“tlsv1_1”并在其他域上使用,以观察它们的兼容性。
如果您想计时邮件服务器响应的速度怎么办?SWAKS可以通过SMTP周期并在某些点脱离而不发送消息,您可以使用“time”命令对其进行计时,该命令在输出结束时显示:
如承诺的那样,如果您已经到了这一步,奖励是这个简单的配置文件用于设置默认参数:
将此复制粘贴到.swaksrc文件中:
保存后,只需输入“swaks”,它就会预填充所有内容并发送!更好的是,您可以通过命令行覆盖输入,例如,您想要不同的收件人: