📜  bash 从脚本发送电子邮件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:13:37.216000             🧑  作者: Mango

Bash 从脚本发送电子邮件 - Shell-Bash

在编写Shell-Bash脚本时,有时需要通过电子邮件将输出结果发送给自己或其他人。这篇文章将介绍如何使用Bash脚本从Linux系统发送电子邮件。

安装sendmail和mutt

要从Bash脚本发送电子邮件,需要安装sendmail和mutt软件包。可以使用以下命令在终端中安装这些软件包:

sudo apt-get install sendmail
sudo apt-get install mutt
发送电子邮件

以下是一个基本的Bash脚本示例,它将当前目录下的文件列表发送到指定的电子邮件地址。

#!/bin/bash

#设置收件人Email地址
recipient="recipient@example.com"

#获取当前目录下的文件列表
file_list=$(ls)

#使用echo和mutt命令创建邮件,包含文件列表,并发送给收件人
echo "文件列表: $file_list" | mutt -s "当前目录文件列表" $recipient

在上面的示例中,脚本使用ls命令获取当前目录下的文件列表,并将其保存在变量file_list中。然后,使用echo和mutt命令将文件列表包含在邮件正文中,并将邮件发送给指定的收件人。

添加电子邮件正文和附件

可以使用echo命令向电子邮件正文添加文本。可以使用“<”符号从文件中读取电子邮件正文。也可以使用“-a”选项向电子邮件添加附件。

#!/bin/bash

#设置收件人Email地址
recipient="recipient@example.com"

#添加电子邮件正文
email_body="这是一封测试电子邮件"

#添加附件
attachment="/path/to/attachment.txt"

#使用mutt命令创建邮件,包含电子邮件正文,并附加文件
mutt -s "测试电子邮件" $recipient -a $attachment < $email_body

在上面的示例中,脚本设置收件人电子邮件地址和电子邮件正文,并将文件作为附件添加到电子邮件中。然后使用mutt发送邮件。

结论

通过使用Bash脚本和mutt发送电子邮件,可以方便地在Linux系统中将输出结果发送给自己或其他人。要发送电子邮件,需要安装sendmail和mutt软件包。可以使用echo命令向电子邮件正文添加文本,并使用“-a”选项向电子邮件添加附件。