使用 Bash 和 SSMTP 发送电子邮件 SSMTP 是一种工具,可将电子邮件从计算机或服务器传递到已配置的邮件主机。 SSMTP 本身并不是一个邮件服务器,它既不接收电子邮件,也不管理邮件队列。 它的主要用途之一是将自动化电子邮件(例如系统警报)从您的机器转发到外部电子邮件地址。 先决条件 要成功完成本教程,您需要具备以下条件: 拥有运行 Ubuntu 18.04 的服务器访问权限,并以具有 sudo 权限的非 root 用户身份登录,同时服务器上已安装并启用防火墙。有关如何设置这些内容,请参阅我们的 Ubuntu 18.04 初始服务器设置指南。 一个 SMTP 服务器,以及对应的 SMTP 用户名和密码。
SSMTP 是一种工具,可将电子邮件从计算机或服务器传递到已配置的邮件主机。
SSMTP 本身并不是一个邮件服务器,它既不接收电子邮件,也不管理邮件队列。
它的主要用途之一是将自动化电子邮件(例如系统警报)从您的机器转发到外部电子邮件地址。
要成功完成本教程,您需要具备以下条件:
拥有运行 Ubuntu 18.04 的服务器访问权限,并以具有 sudo 权限的非 root 用户身份登录,同时服务器上已安装并启用防火墙。有关如何设置这些内容,请参阅我们的 Ubuntu 18.04 初始服务器设置指南。
一个 SMTP 服务器,以及对应的 SMTP 用户名和密码。您可以使用 Gmail 的 SMTP 服务器,或者按照本教程中的步骤自行搭建 SMTP 服务器:如何在 Ubuntu 16.04 上安装并配置 Postfix 作为仅发送 SMTP 服务器。
要安装 SSMTP,首先需要更新 apt 缓存:
sudo apt update
然后运行以下命令来安装 SSMTP:
sudo apt install ssmtp
您还需要安装 mailutils,为此运行以下命令:
sudo apt install mailutils
现在您已经安装了 SSMTP,接下来需要编辑 /etc/ssmtp/ssmtp.conf 文件:
sudo nano /etc/ssmtp/ssmtp.conf
您需要在此文件中添加 SMTP 配置:
root=postmaster mailhub=<^>your_smtp_host.com<^>:587 hostname=<^>your_hostname<^> AuthUser=<^>your_gmail_username@your_smtp_host.com<^> AuthPass=<^>your_gmail_password<^> FromLineOverride=YES UseSTARTTLS=YES
保存文件并退出。
配置完成后,只需运行以下命令即可发送电子邮件:
echo "<^>Here add your email body<^>" | mail -s "<^>Here specify your email subject<^>" <^>your_recepient_email@yourdomain.com<^>
您可以在终端中直接运行此命令,也可以将其包含在 Bash 脚本中。
如果您需要发送带有附件的文件,可以使用 mpack。运行以下命令:
sudo apt install mpack
接下来,要发送带有文件附件的电子邮件,运行以下命令:
mpack -s "<^>Your Subject here<^>" your_file.zip <^>your_recepient_email@yourdomain.com<^>
上述命令会发送一封电子邮件,收件人是 <^>your_recepient_email@yourdomain.com<^>,附件为 <^>your_file.zip<^>。
SSMTP 是一种强大且可靠的方式,可直接在 Bash 脚本中实现 SMTP 电子邮件功能。
有关 SSMTP 的更多信息,建议查看其官方文档:这里。
{notice} 此内容最初发布于 DigitalOcean 社区论坛。
免责声明:
本文件由基于人工智能的机器翻译服务翻译而成。尽管我们力求翻译准确,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言版本的文件为准。对于关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。