[转帖]如何在Linux系统中使用命令发送邮件

如何,linux,系统,使用,命令,发送,邮件 · 浏览次数 : 0

小编点评

**5 个命令行邮件客户端的举例说明:** 1. **mail**:这是 Linux 终端发送邮件的标准命令行工具。 2. **mailx**:是 mail 命令的更新版本,提供 POSIX mailx 命令的功能,并支持 MIME、IMAP、POP3、SMTP 和 S/MIME 扩展。 3. **mutt**:是一个小而强大的基于文本的程序,用来在 unix 操作系统下阅读和发送电子邮件,并支持彩色终端、MIME、OpenPGP 和按邮件线索排序的模式。 4. **mpack**:可以将多个 MIME 消息合并为一个,并对命名的文件进行编码。 5. **sendmail**:是一个上广泛使用的通用 SMTP 服务器,可以用于发送邮件。

正文

https://zhuanlan.zhihu.com/p/96897532

 

Linux系统更多的被用来做服务器系统,在运维的过程中难免我们需要编写脚本监控一些指标并定期发送邮件。

本教程将介绍如何在Linux系统中使用命令发送邮件,以下举例5 个命令行邮件客户端进行举例讲解。

5 个命令行邮件

  • mail / mailx
  • mutt
  • mpack
  • sendmail
  • ssmtp

工作原理

首先我们介绍下Linux中这些邮件命令的工作原理,它们是如何把邮件传递给收件人的。邮件命令通过撰写邮件并发送给一个本地邮件传输代理(MTA,如 sendmail、Postfix),请看下面流程讲解。

 

 

如何在Linux上安装 mail/mailx 命令

mail 命令是 Linux 终端发送邮件用的最多的命令。mailx 是 mail 命令的更新版本,基于 Berkeley Mail 8.1,意在提供 POSIX mailx 命令的功能,并支持 MIME、IMAP、POP3、SMTP 和 S/MIME 扩展。mailx 在某些交互特性上更加强大,如缓冲邮件消息、垃圾邮件评分和过滤等。在 Linux 发行版上,mail 命令是 mailx 命令的软链接。可以运行下面的命令从官方发行版仓库安装 mail 命令。

对于 Debian/Ubuntu 系统安装 mailutils。

sudo apt-get install mailutils

对于 RHEL/CentOS 系统安装 mailx。

sudo yum install mailx

对于 Fedora 系统安装 mailx。

sudo dnf install mailx

如何在 Linux 上使用 mail 命令发送邮件

mail 命令简单易用。如果你不需要发送附件,使用下面的 mail 命令格式就可以发送邮件了:

echo "This is the mail body" | mail -s "Subject" linux265@163.com

如果你要发送附件,使用下面的 mail 命令格式:

echo "This is the mail body" | mail -a test1.txt -s "Subject" linux265@163.com
  • -a:用于在基于 Red Hat 的系统上添加附件。
  • -A:用于在基于 Debian 的系统上添加附件。
  • -s:指定消息标题。

如何在 Linux 上安装 mutt 命令

mutt 是另一个很受欢迎的在 Linux 终端发送邮件的命令。mutt 是一个小而强大的基于文本的程序,用来在 unix 操作系统下阅读和发送电子邮件,并支持彩色终端、MIME、OpenPGP 和按邮件线索排序的模式。可以运行下面的命令从官方发行版仓库安装 mutt 命令。

对于 Debian/Ubuntu 系统安装 mutt。

sudo apt-get install mutt

对于 RHEL/CentOS 系统安装 mutt。

sudo yum install mutt

对于 Fedora 系统安装 mutt。

sudo dnf install mutt

如何在 Linux 上使用 mutt 命令发送邮件

mutt 一样简单易用。如果你不需要发送附件,使用下面的 mutt 命令格式就可以发送邮件了:

echo "This is the mail body" | mutt -s "Subject" linux265@163.com

如果你要发送附件,使用下面的 mutt 命令格式:

echo "This is the mail body" | mutt -s "Subject" linux265@163.com -a test1.txt

如何在 Linux 上安装 mpack 命令

mpack 是另一个很受欢迎的在 Linux 终端上发送邮件的命令。mpack 程序会在一个或多个 MIME 消息中对命名的文件进行编码。编码后的消息被发送到一个或多个收件人。可以运行下面的命令从官方发行版仓库安装 mpack 命令。

对于 Debian/Ubuntu 系统安装 mpack。

sudo apt-get install mpack

对于 RHEL/CentOS 系统安装mpack。

sudo yum install mpack

对于 Fedora 系统安装 mpack。

sudo dnf install mpack

如何在 Linux 上使用 mpack 命令发送邮件

mpack 同样简单易用。如果你不需要发送附件,使用下面的 mpack 命令格式就可以发送邮件了:

echo "This is the mail body" | mpack -s "Subject" linux265@163.com

如果你要发送附件,使用下面的 mpack 命令格式:

echo "This is the mail body" | mpack -s "Subject" linux265@163.com -a test1.txt

如何在 Linux 上安装 sendmail 命令

sendmail 是一个上广泛使用的通用 SMTP 服务器,你也可以从命令行用 sendmail 发邮件。可以运行下面的命令从官方发行版仓库安装 sendmail 命令。

对于 Debian/Ubuntu 系统安装 sendmail。

sudo apt-get install sendmail

对于 RHEL/CentOS 系统安装 sendmail。

sudo yum install sendmail

对于 Fedora 系统安装 sendmail。

sudo dnf install sendmail

如何在 Linux 上使用 sendmail 命令发送邮件

sendmail 同样简单易用。使用下面的 sendmail 命令发送邮件。

echo -e "Subject: Test Mail\nThis is the mail body" > /tmp/send-mail.txt
sendmail linux265@163.com < send-mail.txt

如何在 Linux 上安装 ssmtp 命令

ssmtp 是类似 sendmail 的一个只发送不接收的工具,可以把邮件从本地计算机传递到配置好的 邮件主机(mailhub)。用户可以在 Linux 命令行用 ssmtp 把邮件发送到 SMTP 服务器。可以运行下面的命令从官方发行版仓库安装 ssmtp 命令。

对于 Debian/Ubuntu 系统安装 ssmtp。

sudo apt-get install ssmtp

对于 RHEL/CentOS 系统安装 ssmtp。

sudo yum install ssmtp

对于 Fedora 系统安装 ssmtp。

sudo dnf install ssmtp

如何在 Linux 上使用 ssmtp 命令发送邮件

ssmtp 同样简单易用。使用下面的 ssmtp 命令格式发送邮件。

echo -e "Subject: Test Mail\nThis is the mail body" > /tmp/ssmtp-mail.txt
ssmtp linux265@163.com < /tmp/ssmtp-mail.txt

与[转帖]如何在Linux系统中使用命令发送邮件相似的内容:

[转帖]如何在Linux系统中使用命令发送邮件

https://zhuanlan.zhihu.com/p/96897532 Linux系统更多的被用来做服务器系统,在运维的过程中难免我们需要编写脚本监控一些指标并定期发送邮件。 本教程将介绍如何在Linux系统中使用命令发送邮件,以下举例5 个命令行邮件客户端进行举例讲解。 5 个命令行邮件 ma

[转帖]《Linux性能优化实战》笔记(三)—— CPU 上下文切换(下)

上篇介绍了三种CPU 上下文切换以及它们可能造成的问题和原因,这一篇来看看在系统中如何发现CPU 上下文切换问题。 一、 查看上下文切换情况 主要使用两个命令:vmstat以及之前用过的pidstat。 1. vmstat # 每隔5秒输出1组数据vmstat 5 procs memory swap

[转帖]如何在 Linux 中使用ss命令监控网络连接

https://zhuanlan.zhihu.com/p/99421574 ss命令是用于在Linux系统上显示与网络套接字相关的信息的工具。 该工具显示netstat命令的更多详细信息,该命令用于显示活动的套接字连接。 在本教程中,我们会举例说明ss命令如何用于在Linux中显示各种网络连接信息。

[转帖]如何使用storcli在系统中管理RAID磁盘阵列

Windows版和Linux版storcli命令中个别参数略有差异,可以查看帮助文件,命令如下: ./storcli help page=30 上面命令page=30表示每页显示30行内容。 下载storcli storcli下载地址如下: StorCLI Standalone Utility 查看

[转帖]放弃 ifconfig,拥抱 ip 命令

开始使用现代方法配置 Linux 网络接口。 在很长一段时间内,ifconfig命令是配置网络接口的默认方法。它为 Linux 用户提供了很好的服务,但是网络很复杂,所以配置网络的命令必须健壮。ip命令是现代系统中新的默认网络命令,在本文中,我将向你展示如何使用它。 ip命令工作在OSI 网络栈的两

【转帖】Linux中如何取消ln链接?(linuxln取消)

https://www.dbs724.com/163754.html Linux系统使用ln命令可以快速创建链接,ln链接是指把文件和目录链接起来,当改变源时可以快速地改变整个目录下的文件和目录。有时候,某些文件或者目录链接起来不是我们需要的,我们需要使用Linux取消ln链接命令。下面就来简单介绍

[转帖]如何在 CentOS 中添加、启用和禁用一个仓库

https://linux.cn/article-10219-1.htmlyum repolistyum-config-manager --enable --disable 在基于 RPM 的系统上,例如 RHEL、CentOS 等,我们中的许多人使用 yum 包管理器来管理软件的安装、删除、更新、

[转帖]Linux性能测试之unixbench

https://www.modb.pro/db/487945 大家好,昨天为大家带来了一篇关于在Linux下性能测试的文章《性能测试之LTP》,今天继续为大家推荐系列工具之unixbench,本工具用于Linux中cpu系统的测试,详情请查看百度,这里不多赘述,本文主要用于演示如何使用此工具。本文使

[转帖]Linux性能测试之unixbench

https://www.modb.pro/db/487945 大家好,昨天为大家带来了一篇关于在Linux下性能测试的文章《性能测试之LTP》,今天继续为大家推荐系列工具之unixbench,本工具用于Linux中cpu系统的测试,详情请查看百度,这里不多赘述,本文主要用于演示如何使用此工具。本文使

[转帖]Linux性能分析:理解系统平均负载

Linux系统中,平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数。它不仅包括了正在使用CPU的进程,也包括处于不可打断的睡眠状态的进程—它们是在等待其它系统资源如磁盘 I/O 等的进程。而CPU使用率,是单位时间内CPU繁忙情况的统计,跟平均负载并不一定完全对应。 有诸多方式监测系统平