Linux邮件发送教程:深入了解mail命令

news2024/11/23 7:03:22

前言

大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第59篇文章。

专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。

如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业,阿里云社区专家博主😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

今天我们一起来看看mail命令的使用,mail作为命令我们用的不多,但有时候我们需要结合shell脚本对巡检结果发送邮件的时候会用到

文章目录

  • 前言
  • 一.mail 发送邮件的原理
  • 二. mail 命令常用的参数
  • 三. mail的使用
    • 3.1 邮箱配置
    • 3.2 修改配置文件
    • 3.3 测试
  • 总结

一.mail 发送邮件的原理

邮件命令撰写邮件并发送给一个本地邮件传输代理(MTA,如 sendmail、Postfix)。邮件服务器和远程邮件服务器之间通信以实际发送和接收邮件。

mail 命令是 Linux 终端发送邮件用的最多的命令。mailx 是 mail 命令的更新版本,基于 Berkeley Mail 8.1,意在提供 POSIX mailx 命令的功能,并支持 MIME、IMAP、POP3、SMTP 和 S/MIME 扩展。

mailx 在某些交互特性上更加强大,如缓冲邮件消息、垃圾邮件评分和过滤等。在 Linux 发行版上,mail 命令是 mailx 命令的软链接。可以运行下面的命令从官方发行版仓库安装 mail 命令。

yum install mailx

使用前关闭其他邮件方式:

systemctl stop sendmail
systemctl stop postfix

二. mail 命令常用的参数

-a   #带附件
-A   #配置好的发送邮件的账号
-s   #邮件标题
-b   #指定密件副本的收信人地址
-c   #指定副本的收信人地址
-u   #读取指定用户的邮件
-f   #读取指定邮件文件中的邮件

例如:


mail -s test mufenggrow@163.com

或者

#使用|进行编辑发送
echo "test"|mail -s test  mufenggrow@163.com

三. mail的使用

3.1 邮箱配置

  • 选择设置-POP3/SMTP/IMPA

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

开启后,需要记住授权码:

HMACZIJFDUKRWPSX

3.2 修改配置文件

#未加密的发送方式通过25端口,会被公有云封掉.
cat >>/etc/mail.rc <<EOF
set from=mufengxiaoyue@163.com
set smtp=smtp.163.com
set smtp-auth-user=mufengxiaoyue@163.com
set smtp-auth-password=HMACZIJFDUKRWPSX
set smtp-auth=login
EOF

#加密的方式465端口
cat >>/etc/mail.rc <<EOF
set nss-config-dir=/etc/pki/nssdb/          #加密方式配置
set smtp-user-starttls                      #加密方式配置
set ssl-verify=ignore                       #加密方式配置
set from=mufengxiaoyue@163.com                #配置发件人
set smtp=smtps://smtp.163.com:465            #配置使用163邮箱发送邮件,不加密方式参考上面
set smtp-auth-user=mufengxiaoyue@163.com      #邮箱名
set smtp-auth-password=HMACZIJFDUKRWPSX             #授权码
set smtp-auth=login                         #认证形式
EOF

如果用第二种加密的方式,需要创建证书文件,此处不演示。

3.3 测试

案例一:

[root@mufenggrow ~]# mail  -s test mufengxiaoyue@163.com
aaa
bbb
ccc


EOT

这里需要主要,输入完成的时候,可以使用 ctrl +D结束。

在这里插入图片描述

案例二:

[root@mufenggrow ~]# mail -s mufenggrowtest mufengxiaoyue@163.com < /etc/hosts

在这里插入图片描述

总结

邮件mail的使用,我们就介绍到这里了,你学会了吗。

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/609567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java进行公众号开发的常见使用场景及解决方案

Java进行公众号开发的常见使用场景解决方案 文章简介 本文总结了本人在开发过程中遇到的有关于微信开发的诸多常见功能&#xff0c;这些问题在网上找都是零散的回答&#xff0c;所以再此总结一下&#xff0c;方便后续开发。如果有错误之处&#xff0c;还望批评指出&#xff0…

使用Kaggle GPU资源免费体验Stable Diffusion开源项目

使用Kaggle GPU资源免费体验Stable Diffusion开源项目 前言相关介绍Stable Diffusion Kaggle开源项目编辑并复制项目运行项目打开网址&#xff0c;即可体验 参考 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精彩内容&#xff0c;可点击进入Y…

javascript基础二十五:说说你对函数式编程的理解?优缺点?

一、是什么 函数式编程是一种"编程范式"&#xff08;programming paradigm&#xff09;&#xff0c;一种编写程序的方法论 主要的编程范式有三种&#xff1a;命令式编程&#xff0c;声明式编程和函数式编程 相比命令式编程&#xff0c;函数式编程更加强调程序执行…

C SS复习笔记

1.img标签 img的src属性是图片显示不出来时显示的文字 ing的title属性是光标放到图片上&#xff0c;提示的文字 2.a标签 a标签的target属性表示打开窗口的方式&#xff0c;默认的值是_self表示当前窗口的打开页面&#xff0c;_blank表示新窗口打开页面。 a标签的href链接分…

2023.06.04 学习周报

文章目录 摘要文献阅读1.题目2.背景3.方案4.本文贡献5.模型5.1 图注意力形式5.2 superGAT 6.实验7.结论 有限元数学建模深度学习1.高斯扩散2.原理 总结 摘要 This week, I read a computer science about GNN. At present, the attention mechanism of graph neural network i…

Go Web下GORM框架使用(二)

〇、前言 本文将会写一个前后端分离的的小项目&#xff0c;本文将会只实现后端。 一、定义全局变量与模型 本文需要一个数据库&#xff0c;因此将这个数据库定义为全局变量将会非常轻松。 var (DB *gorm.DB )type Todo struct {ID int json:"id"Title s…

【C#图解教程】第六章 方法(下)

输出参数 函数的输出只有返回值有时不太够&#xff0c;此时需要用到输出参数&#xff0c;用修饰词out声明 输出参数的要求与引用参数类似&#xff0c;需要是变量&#xff0c;此外&#xff0c;输出参数也是实参的别名&#xff0c;指向堆中同一对象。 输出参数与引用参数的不同在…

【实用篇】Elasticsearch03

文章目录 分布式搜索引擎031.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric聚合语法1.2.5.小结 1.3.RestAPI实现聚合1.3.1.API语法1.3.2.业务需求1.3.3.业务实现 2.自动补全2.1.拼音分词器2.2.自定义分词器2.3.…

【人工智能】— Support Vector Machines 支持向量机

【人工智能】— Support Vector Machines 支持向量机 支持向量机概述支持向量机支持向量机原理介绍分类间距&#xff08;Classification Margin&#xff09; 支持向量机概述 找到使间隔最大化的超平面>B1比B2更好 支持向量机 研究起因&#xff1a;如何找到最优的切分面 分…

制作酷炫可视化大屏利器--分享10种比较流行的开源免费的图表库

在开发可视化项目的过程中往往涉及到可视化图表, 多酷炫的报表, 大屏, 都用了非常多的图表, 接下来我和大家分享一些比较流行的开源免费的图表库. 分享10种比较流行的开源免费的图表库 1&#xff0c;Frappe Charts2&#xff0c;Recharts3&#xff0c;Protovis4&#xff0c;dygr…

Docker快速入门(分分钟钟就能上手)

Docker的思想 集装箱&#xff1a;会将所有需要的内容放到不同的集装箱中&#xff0c;谁需要这些环境就直接拿到这个集装箱就可以了。标准化&#xff1a; 运输的标准化&#xff1a;Docker有一个码头&#xff0c;所有上传的集装箱都放在了这个码头上&#xff0c;当谁需要某一个环…

设计模式-01.设计思想

设计思想 此系列文章非本人原创&#xff0c;是学习笔记。 下面讲一些常见的设计思想 基于接口而非实现编程 这个原则非常重要&#xff0c;是一种非常有效的提高代码质量的手段&#xff0c;在平时的开发中特别经常被用到。 如何解读原则中的“接口”二字&#xff1f; “基于…

python面向对象操作1(速通版)

目录 一、高阶函数 1.lambda函数 2.lambda函数注意事项 3.map用法 4.map和lambda函数配合 二、reduce函数 1.reduce基本应用 2.reduce和匿名函数配合 三、filter()函数 1.简单用法 2.高阶应用 四、列表排列方法&#xff08;key和lambda问题&#xff09; 1.正常排序…

Node服务器和常见模块

1 Node服务器开发 2 fs模块-文件系统 3 event模块-事件处理 4 认识二进制和buffer 5 Buffer的创建方式 6 Buffer的源码解析 node 的fs模块操作&#xff1a; 这里主要讲node如何进行读取文件&#xff0c;操作文件。服务器该有的操作node都有。 node的fs读取文本文件内容的d…

自定义starter

第一步、创建 xxx-spring-boot-starter 的spring Initializr模块 第二步、删除不需要的内容&#xff08;启动类、除下面spring-boot-starter的其它依赖&#xff0c;maven编译插件&#xff09; <dependency><groupId>org.springframework.boot</groupId><…

linux理解软硬链接

软硬连接 在linux下面链接文件有两种&#xff0c;一种是类似window的快捷方式功能的文件&#xff0c;可以让你快速链接到目标文件&#xff08;或目录&#xff09;&#xff0c;叫做软链接&#xff0c;另一种则是通过文件系统的inode链接来产生新的文件名&#xff0c;而不是产生…

Linux 常用开发工具(yum、vim)

绪论 耐心是一切聪明才智的基础。—— 柏拉图。本章进入到Linux下的一些常用的工具&#xff0c;这些工具能帮助我们去更好的使用Linux操作系统。 话不多说安全带系好&#xff0c;发车啦&#xff08;建议电脑观看&#xff09;。 附&#xff1a;红色&#xff0c;部分为重点部分&a…

[MAUI程序设计] 用Handler实现自定义跨平台控件

文章目录 Handler与Xamarin.Forms实现的区别为什么要用Handler代替Renderer解耦生命周期管理更细粒度的控制 用Effect来实现呢&#xff1f;自定义手势监听控件在各平台上实现TouchRecognizeriOS中的实现Android中的实现Windows中的实现 创建控件使用控件最终效果项目地址 今天来…

使用 Kubeadm 和 CRI-O 在 Rocky Linux 8 上安装 Kubernetes 集群

在 Rocky Linux 8 上安装 Kubernetes 集群。毫无疑问&#xff0c;Kubernetes 将继续改变我们大规模部署和管理业务应用程序的方式。无论用于部署应用程序的模型是手动还是通过 CI/CD 管道&#xff0c;Kubernetes 仍然是处理编排、管理和扩展应用程序的最佳选择。 对于那些不知…

一劳永逸的方法解决函数scanf报错问题

目录 scanf报错示例 代码 报错提醒 报错翻译 解决方案1&#xff08;不建议&#xff09;:将scanf换成scanf_s&#xff1b; 解决方案2&#xff08;临时解决&#xff09;&#xff1a; 解决方案3&#xff08;建议&#xff09;&#xff1a; 方法1&#xff08;建议&#xff09…