使用 SSMTP 从 Linux 终端发送电子邮件
本文将简要介绍 SSMTP 以及安装它的步骤,并使用它从 Linux 终端发送电子邮件。
您知道可以从 Linux 命令行发送邮件吗?我相信这并不奇怪。主要问题是你为什么要费尽心思从 Linux 终端发送电子邮件?
造成这种情况的原因可能有多种。假设您有一台需要保证安全的 Linux 服务器。您可以使用 Fail2Ban 来阻止未经授权的登录。通过邮件设置,如果有警报,它可以自动向您发送电子邮件。这是从 Linux 发送邮件可以为您带来巨大帮助的众多用例之一。
让我们了解有关从 Linux 命令行发送电子邮件的更多信息。
什么是 SSMTP?它是如何工作的?
SMTP(简单邮件传输协议)是用于发送和接收电子邮件的协议(数据和通信的规则和格式集)之一。尽管Outlook、Gmail等供应商通常使用专有协议,但他们提供SMTP服务,以便用户可以从任何客户端访问他们的电子邮件。
需要两个软件:系统中的 SMTP 服务器(由电子邮件供应商托管)和 SMTP 客户端。
SSMTP 就是这样的客户端程序之一,可以帮助您发送电子邮件。当您发送邮件时,您的客户端会将其转发到供应商的 SMTP 服务器,然后服务器将其发送到收件人的电子邮件供应商。最后,它将转发给收件人。
如果您想了解有关 SMTP 的更多信息,请使用这篇有关 SMTP 的 wiki 文章。
让我们以正确的方式开始使用 SSMTP。
使用 SSMTP 从 Linux 终端发送电子邮件
让我们看看如何借助 SSMTP 在 Linux 命令行中发送邮件。
安装 SSMTP
SSMTP 在大多数 Linux 发行版中都作为软件包提供。浏览您的发行版的存储库以确保。在Ubuntu 18.04中,您可以按如下方式安装SSMTP:
sudo apt install ssmtp
配置SSMTP
完成此操作后,我们需要配置 SSMTP。
由于本文的主要重点是发送邮件,因此我们坚持 SSMTP 的基本设置。您只能使用它来发送邮件。每个用户每次发送邮件时都必须指定电子邮件和密码。假设每个人都使用相同的 SMTP 服务器。
您可能会在网上找到的其他一些文章将指导您在配置文件 (/etc/ssmtp/ssmtp.conf) 中存储用户名和密码。它将允许所有用户使用配置中的凭据发送电子邮件,而无需强制每个用户拥有自己的电子邮件和密码。
“Linuxhandbook 建议您不要进行任何此类配置,除非您非常确定。 ”
您需要编辑conf文件:
sudo gedit /etc/ssmtp/ssmtp.conf
如果您熟悉 Nano、Vim、Emacs 等命令行编辑器,请随意使用它们。追加文件或用以下文本替换整个文件内容:
mailhub=smtp.gmail.com:587
UseTLS=YES
UseSTARTTLS=YES
即使您删除整个配置并仅用上面的代码片段替换它,它也应该可以完美工作。如果没有在评论中告诉我们。
如果您使用任何其他电子邮件供应商,请将上述代码段中的 mailhub 替换为适当的 server:port 值。如果您遇到困难,请务必在评论中告诉我们。
在Linux中通过SSMTP发送电子邮件
让我们构建一条需要在名为 mail.txt 的文件中发送的消息。
To: [email
Subject: Linux is best
Linux stood the test of time. We thank everyone who ever contributed, advocated, used or did anything that made what Linux is now.
Thanks and regards,
Linux Folks
为了发送此邮件,您需要使用如下格式。
ssmtp -au EMAIL_ADDRESS -ap EMAIL_PASSWORD [email < mail.txt
将 EMAIL_ADDRESS、EMAIL_PASSWORD 替换为这些值。您可能会注意到一件事seeni@linux。com 消息和命令中都提到了。
这是因为ssmtp命令中使用的地址将被用作bcc,并且消息中提到的地址将被用作to 地址。
我希望您觉得这篇文章有用。如果您喜欢它,请在社交媒体上分享。如果您有建议,请随时在评论中告诉我们。