在 Linux 终端发送电子邮件


您可以使用名为“mail”的命令行工具在 Linux 终端发送电子邮件。此工具通常预安装在大多数 Linux 发行版中。要发送电子邮件,您可以使用以下语法:

echo "message body" | mail -s "subject" [email protected]

您也可以使用 -a 选项并指定要附加文件的路径来包含附件。

echo "message body" | mail -s "subject" -a /path/to/attachment [email protected]

您也可以使用其他命令行邮件客户端,例如 mutt、mailx 等。

电子邮件系统的架构

电子邮件系统由多个不同的组件组成,这些组件协同工作以发送和接收邮件。电子邮件系统的主要组件包括:

邮件用户代理 (MUA) − 这是用户用来撰写、发送和接收电子邮件的软件。示例包括 Microsoft Outlook、Apple Mail 和 Thunderbird。

邮件传输代理 (MTA) − MTA 负责将电子邮件从一台服务器传输到另一台服务器。MTA 的示例包括 Postfix、Exim 和 Sendmail。

邮件投递代理 (MDA) − MDA 从 MTA 接收邮件,并将其投递到本地服务器上的相应邮箱。

邮箱− 这是邮件在服务器上存储的位置。邮箱有多种类型,包括 Maildir、mbox 和 IMAP。

简单邮件传输协议 (SMTP) − 这是用于在服务器之间发送电子邮件的协议。

邮局协议 (POP) 和互联网邮件访问协议 (IMAP) − 这些是用于从服务器检索电子邮件的协议。

DNS − 域名系统用于将域名解析为 IP 地址,这对于路由电子邮件是必要的。

身份验证和安全性 − 电子邮件系统还包括几种身份验证和安全方法,以确保只有授权用户才能发送和接收邮件,并且邮件在传输过程中受到保护,免受未经授权的访问或修改。

这是电子邮件系统的基本架构,但如果添加了电子邮件加密和签名,或者如果电子邮件客户端和服务器位于不同的位置和网络中,则复杂性可能会增加。

msmtp

msmtp 是一个用于发送电子邮件的命令行邮件传输代理 (MTA)。它允许用户通过命令行通过 SMTP(简单邮件传输协议)服务器发送电子邮件,而不是使用传统的电子邮件客户端,如 Microsoft Outlook 或 Apple Mail。

msmtp 设计轻巧易用,可以用作 Linux 和 Unix 系统上内置“sendmail”命令的替代品。它通常与其他命令行工具(如 Mutt 和 OfflineIMAP)结合使用,以实现简单高效的电子邮件工作流程。

msmtp 的主要功能之一是它能够处理多个 SMTP 帐户并通过配置文件对其进行配置。这允许用户在发送电子邮件时轻松地在不同的帐户之间切换。

msmtp 还支持各种安全功能,例如 SSL/TLS 加密、SMTP-AUTH 和 STARTTLS。它还允许您为连接到的每个 SMTP 服务器指定不同的证书。

要使用 msmtp,您需要使用必要的 SMTP 服务器和帐户信息对其进行配置,然后使用 msmtp 命令发送电子邮件。

echo "message body" | msmtp -a default -t [email protected]

请注意,msmtp 不会接收电子邮件,它仅通过 SMTP 服务器发送电子邮件。Satish Kumar

mutt

Mutt 是一个基于命令行的 Unix 类系统电子邮件客户端。它设计小巧易用,可以用作 Microsoft Outlook 或 Apple Mail 等其他电子邮件客户端的替代品。

Mutt 支持各种功能,例如阅读和发送电子邮件、处理多个邮箱和支持各种邮箱格式。它还支持各种用于发送和检索电子邮件的协议,包括 SMTP、IMAP 和 POP3。

Mutt 的主要优点之一是其强大的键盘快捷键和命令语言,允许用户快速浏览和管理他们的电子邮件。它还通过其配置文件支持各种自定义选项,允许用户根据自己的特定需求定制程序。

Mutt 还支持各种安全功能,例如 SSL/TLS 加密、PGP/GPG 加密和 S/MIME。

要使用 Mutt,您需要使用必要的帐户信息对其进行配置,然后使用 mutt 命令在终端中打开电子邮件客户端。

mutt

您也可以直接从命令行撰写和发送电子邮件。

mutt -s "subject" [email protected] < message.txt

Mutt 还可以与其他命令行工具结合使用,例如用于发送电子邮件的 msmtp 和用于从远程服务器检索电子邮件的 OfflineIMAP。

结论

总之,Linux 系统上有多种命令行工具可用于发送和管理电子邮件,例如 mail、msmtp 和 mutt。这些工具各有其独特的特性和功能,可根据用户的具体需求在不同的情况下使用。

mail 命令是一个简单的工具,可用于从命令行发送电子邮件。msmtp 是一个轻量级的邮件传输代理,可用于通过 SMTP 服务器发送电子邮件,它通常与其他命令行工具(如 Mutt)结合使用。Mutt 是一个基于命令行的电子邮件客户端,提供强大的导航、键盘快捷键和命令语言,并支持各种用于发送和检索电子邮件的协议。

所有这些工具都可以配置为支持各种安全功能,例如 SSL/TLS 加密、PGP/GPG 加密和 S/MIME。最终,选择使用哪个工具取决于用户的具体需求和偏好。

更新于:2023年1月25日

浏览量:1K+

启动您的 职业生涯

完成课程获得认证

开始学习
广告