在 Linux 命令行发送邮件的 5 种方法(推荐)

在Linux命令行发送邮件是一个非常方便的工具,在一些自动化的操作中经常使用。本攻略将介绍5种在Linux命令行发送邮件的方法。

方法一:使用mail命令

mail是在Linux系统中发送邮件的基本命令之一,可以通过终端向指定的邮件地址发送邮件。

1.首先,需要确保电脑上安装了mailutils(或mailx)软件包。可以通过以下命令进行安装:

sudo apt-get update
sudo apt-get install mailutils

2.在终端中输入以下命令:

echo "这是一封测试邮件" | mail -s "测试邮件" recipient@example.com

上述命令会向recipient@example.com发送一封标题为“测试邮件”,内容为“这是一封测试邮件”的邮件。

方法二:使用Mutt命令

Mutt是一个开源、文本模式、基于命令行的电子邮件客户端。使用Mutt命令可以发送一个或多个附件的电子邮件。

1.首先,需要确保电脑上安装了Mutt。可以通过以下命令进行安装:

sudo apt-get update
sudo apt-get install mutt

2.在终端输入以下命令:

echo "这是一封测试邮件" | mutt -a "/path/to/attachment/file" -s "测试邮件" -- recipient@example.com

上述命令中,-a参数用来指定邮件附件的路径,-- 用来传递收件人的选项。这条命令会向recipient@example.com发送一封包含附件的邮件。

方法三:使用Ssmtp命令

ssmpt是一个简单的SMTP邮件发送工具,它允许在Linux命令行中发送邮件。

1.首先,需要确保电脑上安装了ssmpt。可以通过以下命令进行安装:

sudo apt-get update
sudo apt-get install ssmtp

2.编辑ssmpt的配置文件/etc/ssmtp/ssmtp.conf。具体可编辑配置如下:

root=<gmail login>
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
hostname=<host name>
UseSTARTTLS=YES
AuthUser=<gmail login>
AuthPass=<gmail password>
FromLineOverride=YES

其中root为gmail的登录用户,mailhub是smtp服务器地址,从而可将用户邮件发送到Gmail服务器上,hostname是本地主机名,在正式使用时,最好将其改为本机的真实名称,AuthUser和AuthPass为Gmail用户的登录名和密码。

3.在终端输入以下命令:

echo "这是一封测试邮件" | ssmtp recipient@example.com

上述命令会向recipient@example.com发送一封标题为“测试邮件”,内容为“这是一封测试邮件”的邮件。

方法四:使用SendEmail命令

SendEmail是一个基于Perl编写的较新的邮件发送工具,它支持SSL和SMTP认证。使用SendEmail命令可以向一个或多个收件人发送邮件。

1.首先,需要确保安装了SendEmail。可以通过以下命令进行安装:

sudo apt-get update
sudo apt-get install sendemail

2.在终端输入以下命令:

sendemail -f sender@example.com -t recipient@example.com -u "测试邮件" -m "这是一封测试邮件"

上述命令中,-f参数表示发件人地址,-t参数表示收件人地址,-u参数表示邮件标题,-m参数表示邮件正文。

方法五:使用ssmtp结合mutt命令

通过以上几种方式可以单独完成邮件的发送,但如果想发送一个附件,则需要结合多种工具进行。使用ssmtp结合mutt命令也可以完成一封包含附件的邮件的发送。

1.首先,需要确保安装ssmtp和mutt。

sudo apt-get update
sudo apt-get install mutt
sudo apt-get install ssmtp

2.编辑ssmpt的配置文件/etc/ssmtp/ssmtp.conf,并按照上述提到的方法进行编辑。

3.在终端输入以下命令:

mutt -s "测试邮件" -a /path/to/attachment/file -- recipient@example.com < /path/to/message/body

上述命令中,-s参数用来指定邮件标题,-a参数指定邮件附件的路径,- 指定接收邮件的人, < /path/to/message/body用来指定邮件正文。

总体而言,在Linux中发送邮件的方法有多种,你可以根据自己的需要选择其中一种或多种方式进行尝试。以上介绍的五种方法覆盖面广,包含多种需求进行解决,可以作为使用的优秀参考。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在 Linux 命令行发送邮件的 5 种方法(推荐) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 详解Linux Centos7下安装Python的方法

    下面是详解LinuxCentos7下安装Python的方法: 1. 先安装必要的编译工具和库文件 在终端中输入以下命令: sudo yum groupinstall -y "Development Tools" sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses…

    Linux 2023年5月14日
    00
  • Linux slave配置

    说明:master机器为Windows,现将一台Linux机器作为slave进行配置。这台Linux机器为CentOS。 1、在Linux slave上的配置 ①创建名为jenkins用户 #sudo /usr/sbin/useradd -m jenkins -d /home/jenkins   ②设置用户jenkins的密码   #sudo /usr/bi…

    Linux 2023年4月11日
    00
  • 一篇文章弄懂Linux磁盘和磁盘分区

    一篇文章弄懂Linux磁盘和磁盘分区 什么是磁盘 磁盘是计算机中常见的存储介质,主要由硬盘、闪存、光盘等组成。在Linux系统中,我们主要使用硬盘来进行数据存储和操作。 磁盘的组成 在Linux系统中,磁盘主要由磁盘分区和文件系统组成。 磁盘分区 磁盘分区是将硬盘划分为多个部分,每个部分可被格式化并安装文件系统以存储数据。 分区可分为主分区、扩展分区和逻辑分…

    Linux 2023年5月30日
    00
  • Neovim,要尝一口不?

    作者:袁首京 原创文章,转载时请保留此声明,并给出原文连接。 Neovim 风评很好,我机器上其实早装了它来替代 vim。只不过这两年用 vscode 较多,冷落了它,除了偶尔改改配置文件,很少用。难得大过年的有点儿空,就来倒腾它一下子,最终效果如下。 基础配置 从 0.5 版开始,Neovim 允许使用 Lua 代替 VimL 作为配置语言,所以这里也直接…

    Linux 2023年4月17日
    00
  • Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程

    搭建所需环境Linux版本:Ubuntu 14.10    交叉编译器版本:arm-linux-gcc-4.4.3资源链接 何为交叉编译环境搭建交叉编译环境,即安装、配置交叉编译工具链。在Ubuntu环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。    交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对…

    Linux 2023年4月11日
    00
  • Vmware虚拟机怎么向Linux虚拟机拖放文件?

    如果你使用的是Vmware Workstation虚拟机软件,那么你可以按照以下步骤向Linux虚拟机拖放文件: 第一步:选择需要拖放的文件。在Windows宿主机中,找到你想要拖放的文件或文件夹。如果你想要拖放多个文件,可以按住Ctrl键,然后逐一选择它们。 第二步:将文件拖放到虚拟机窗口中。打开Linux虚拟机软件,将它的窗口大小设置为与Windows宿…

    Linux 2023年5月24日
    00
  • linux下oracle11g R2的启动与关闭监听、数据库

    su – oracle           切换到oracle账户 lsnrctl start          启动监听 sqlplus /nolog     登陆sqlplus conn /as sysdba  或者 sqlplus / as sysdba    sysdba登陆到本机的数据库 startup  启动数据   shutdown immed…

    Linux 2023年4月11日
    00
  • signal

    signal signal源码位置:、 信号集合../sched/signal.h 信号结构体:../signal_types.h signal函数:..\kernel\signal.c sigio的概述流程 对于网络IO来说,一旦收到数据,信号机制会发送sigio这个信号 简单使用sigio,udp可以使用,tcp不行 网卡接收到数据帧,并发送给协议栈 网…

    2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部