使用Bash和SSMTP发送电子邮件


文档摘要

使用 Bash 和 SSMTP 发送电子邮件 SSMTP 是一种工具,可将电子邮件从计算机或服务器传递到已配置的邮件主机。 SSMTP 本身并不是一个邮件服务器,它既不接收电子邮件,也不管理邮件队列。 它的主要用途之一是将自动化电子邮件(例如系统警报)从您的机器转发到外部电子邮件地址。 先决条件 要成功完成本教程,您需要具备以下条件: 拥有运行 Ubuntu 18.04 的服务器访问权限,并以具有 sudo 权限的非 root 用户身份登录,同时服务器上已安装并启用防火墙。有关如何设置这些内容,请参阅我们的 Ubuntu 18.04 初始服务器设置指南。 一个 SMTP 服务器,以及对应的 SMTP 用户名和密码。

使用 Bash 和 SSMTP 发送电子邮件

SSMTP 是一种工具,可将电子邮件从计算机或服务器传递到已配置的邮件主机。

SSMTP 本身并不是一个邮件服务器,它既不接收电子邮件,也不管理邮件队列。

它的主要用途之一是将自动化电子邮件(例如系统警报)从您的机器转发到外部电子邮件地址。

先决条件

要成功完成本教程,您需要具备以下条件:

安装 SSMTP

要安装 SSMTP,首先需要更新 apt 缓存:

sudo apt update

然后运行以下命令来安装 SSMTP:

sudo apt install ssmtp

您还需要安装 mailutils,为此运行以下命令:

sudo apt install mailutils

配置 SSMTP

现在您已经安装了 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

保存文件并退出。

使用 SSMTP 发送电子邮件

配置完成后,只需运行以下命令即可发送电子邮件:

echo "<^>Here add your email body<^>" | mail -s "<^>Here specify your email subject<^>" <^>your_recepient_email@yourdomain.com<^>

您可以在终端中直接运行此命令,也可以将其包含在 Bash 脚本中。

使用 SSMTP 发送文件(可选)

如果您需要发送带有附件的文件,可以使用 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 社区论坛

免责声明
本文件由基于人工智能的机器翻译服务翻译而成。尽管我们力求翻译准确,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言版本的文件为准。对于关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。


发布者: 作者: 转发
评论区 (0)
U