📜  Linux 中的 mailx(1)

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

Linux 中的 mailx

介绍

mailx 是 Linux 系统上的一个邮件客户端工具,它可以通过命令行发送电子邮件并接收电子邮件。mailx 命令是一个类似于 sendmail 的接口,可以通过它来发送邮件,支持 SMTP 和本地邮件系统。它是邮件传输代理(MTA)或邮件用户代理(MUA)之间的标准接口之一。

安装

如果你使用的是 Debian/Ubuntu 系统,可以使用下面的命令来安装 mailx

sudo apt-get update
sudo apt-get install mailutils

如果你使用的是 CentOS/Fedora 系统,可以使用下面的命令来安装 mailx

sudo yum -y install mailx
使用

mailx 命令行工具有以下基本用法:

发送邮件
echo "This is the body of the email" | mailx -s "Subject" -a file.txt user@example.com

上述命令将会向 user@example.com 发送一封包含文件 file.txt 作为附件的主题为 Subject,内容为 This is the body of the email 的邮件。

查看邮件
mailx

上述命令将打开 mailx 的交互式终端,允许你查看收件箱中的邮件。

删除邮件
mailx -d number

上述命令将会删除指定的邮件。

转发邮件
mailx -f mbox -s "Subject" user@example.com

上述命令将会从本地磁盘的 mbox 文件中读取邮件,并将其转发到 user@example.com

设置账户信息

mailx 可以使用环境变量来配置账户信息:

export EMAIL=username@example.com
export smtp=smtp.example.com
高级用法

除了基本用法以外,mailx 还有一些比较高级的用法,例如:

使用 SSL/TLS
mailx -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S smtp=smtp.gmail.com -S from=YOURUSERNAME@gmail.com -S smtp-auth-user=YOURUSERNAME@gmail.com -S smtp-auth-password=YOURPASSWORD -s "test subject" TO@gmail.com < body.txt

使用 SSL 或 TLS 加密连接你的 SMTP 服务器。

使用 HTML 格式发送邮件
mailx -a "Content-type: text/html;" -s "HTML Message" user@example.com < email.html

使用 HTML 格式来发送邮件。

发送带有图片的邮件
mailx -a "Content-Type: image/gif; name=foo.gif" -a "Content-Disposition: attachment; filename=foo.gif" -s "GIF Image" user@example.com < /path/to/foo.gif

发送带有附件的邮件,可以很容易地添加图片。

总结

mailx 是一个强大的命令行工具,可用于快速和方便地发送电子邮件。它支持各种邮件协议,并支持发送 HTML 格式的邮件和带有图片的邮件。 无论你是一名系统管理员还是开发人员,都应该学习如何在 CLI 上使用 mailx