linux安装mailx发邮件

文章目录

  • linux安装mailx发邮件
    • 原理
    • 安装
    • 配置qq的smtps服务器
    • 配置Peer的证书发布者为信任

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

​ 这里是:使用外部 smtp 服务器(qq邮箱)发送邮件。

​ mail是mailx的别名,mail是MUA,sendmail是MTA

​ 如果我们只是想要发送邮件 只需要mail 或者mailx 就可以了,如果我们需要发送邮件并且能收到对方的邮件 我们可能就需要sendmail 服务了。

原理

  • MUA:Mail User Agent,邮件用户代理,用来编写,收发邮件
  • MTA:Mail Transfer Agent,邮件传输代理,将邮件传输到正确目的地
  • MDA:Mail Delivery Agent,邮件分发代理,将邮件分发到正确目的用户

​ 以一个例子来说明上面的关系。假如A用户使用的是QQ邮箱,B用户使用的是163邮箱,A要向B发送一封邮件。流程如下:

1、A用户通过MUA编写好邮件,并发送
2、该邮件通过MTA,首先发送到QQ邮件服务器
3、QQ邮件服务器分析到目的邮箱地址是163,所以再通过MTA传送到163邮件服务器
4、163邮件服务器收到该邮件
5、由于使用163邮箱的用户有很多,再通过MDA把该邮件发送到正确的用户
6、B用户通过MUA就可以查看A用户发送的邮件。

安装

对于 Debian/Ubuntu 系统

apt-get install mailutils

对于 RHEL/CentOS 系统

yum install mailx

对于 Fedora 系统

dnf install mailx

配置qq的smtps服务器

vi /etc/mail.rc
# 在最后一行写入下面信息# 这里填入smtp地址,这里的xxx为qq或者163
set smtp=smtps://smtp.qq.com:465
# 认证方式
set smtp-auth=login
# 这里输入邮箱账号
set smtp-auth-user=jenrey@foxmail.com
# 这里填入密码,这里是授权码而不是邮箱密码
set smtp-auth-password=xxxxxxxxxxxxxxx
# 忽略证书警告
set ssl-verify=ignore
# 证书所在目录
set nss-config-dir=/etc/pki/nssdb
# 设置发信人邮箱和昵称
set from=jenrey@foxmail.com

​ QQ邮箱的授权码获取方式为:进入邮箱后–>设置–>账户,开启下图1中的SMTP,点击2生成授权码

echo '邮件内容'| mail -s '邮件标题' jenrey@foxmail.com
echo '123'| mail -s 'qwe' jenrey@foxmail.com

配置Peer的证书发布者为信任

Error in certificate: Peer’s certificate issuer has been marked as not trust

报错的意思是 证书错误:Peer的证书发布者被标记为不被信任。

这是由于使用加密通信,但客户端不能确认证书是否真实。

但是邮件可以正常发送。

[root@765850a4dacb /]# echo '123'| mail -s 'qwe' jenrey@foxmail.com
[root@765850a4dacb /]# Error in certificate: Peer's certificate issuer has been marked as not trusted by the.

解决方法如下:

# 修改配置(/etc/mail.rc)
将 set ssl-verify=ignore 改成 set ssl-verify=strict# 获取邮件服务器证书
echo -n "" | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/pki/nssdb/qq.crt# 如果提示openssl: command not found,执行下面命令并再次“获取邮件服务器证书”
yum install openssl# 将证书添加到受信任列表
certutil -A -n 'qq' -t "P,P,P" -d /etc/pki/nssdb -i /etc/pki/nssdb/qq.crt
# -A:表示添加
# -n:nickname,可以随意取,例如126或qq
# -t:表示受信任的标签,可取值是t/c/p三种或者其组合,
# -d:表示证书所在目录
# -i:指示证书文件的位置。
# 其它参数可以 man certutil 查看

linux安装mailx发邮件相关推荐

  1. linux mailx 发邮件

    当需要服务器定时发送邮件到自己邮箱时,一个邮件服务就很重要了,以下主要是mailx的实现,主要是利用 1.安装mailx yum install mailx -y 2.使用到的配置文件只有一个,是 / ...

  2. linux系统怎样发邮件,linux系统下如何发送邮件

    在使用linux服务器的过程中,我希望某个任务完成后,系统会自动发邮件告诉我.这就需要用到发送邮件的功能. 网络上搜索了一下,一般的linux系统都已经安装了邮件服务程序sendmail(但不一定是开 ...

  3. linux创建定时任务发邮件

    1.首先安装mutt 和sendmail [root@smp ~]$yum -y install sendmail mutt mailx 2.配置发邮件的邮箱 [root@smp ~]$vim /et ...

  4. linux文本界面发邮件,柴少鹏的官方网站-linux发送邮件内容变成了tcmime.xxxx.xxxx.xxxx.bin的附件形式...

    因为物理机比较多,为了确保在硬盘在损坏之前能够预警出来,所以每台物理机都部署了一个定时检测脚本来检测磁盘状态,如果出现问题就发送到一个汇总的服务器,由服务器过滤并发送报警信息到运维人员的邮箱. 发送邮 ...

  5. linux 给邮箱发邮件,使用linux系统给邮箱发邮件

    配置文件如下: [root@localhost ~]# vim /etc/mail.rc set from=zebra9301@163.com smtp=smtp.163.com set smtp-a ...

  6. linux(centos8):阿里云ecs配置smtps发邮件(解决不能通过25端口发邮件问题)

    一,2016年9月后购买的阿里云ecs不再支持通过25端口发送邮件 官方的建议是使用465端口 465端口(SMTPS): 465端口是为SMTPS(SMTP-over-SSL)协议服务开放的 它是S ...

  7. php发邮件 环境,PHP使用Pear发送邮件(Windows环境)

    本文实例介绍了PHP使用Pear发送邮件的方法,以及如何在Windows下安装PHP Pear的步骤,分享给大家供大家参考,具体内容如下 一.PEAR安装 1.PEAR简介 PEAR是PHP扩展与应用 ...

  8. Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明

    Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明 ------by liyoujia 环境: 需要用到mutt 和 msmtp 这两款软件 Mutt:linux初始化安装的时候自 ...

  9. linux 发邮件给用户,Linux学习之给指定用户发邮件

    发送邮件 进入 mail 程序后的操作都很简单,但是可以不进入 mail 的 & 操作提示符界面,下面举几个实用例子: 1.给 snailwarrior@qq.com 发信 [root@pps ...

  10. linux如何发邮件到外部邮箱

    linux如何发邮件到外部邮箱 使用linux时,有时我们想发邮件给朋友或同事,可不可以通过命令行直接发呢? 想通过linux监控网站或者系统状况并自动报警,如何使用脚本发出邮件给外部邮箱呢? 不需要 ...

最新文章

  1. Java 枚举(enum)详解
  2. CTF web题总结--php函数漏洞
  3. [转]jquery的一个模板引擎-zt
  4. 1_2 AbstractFactoryMode 抽象工厂模式
  5. Linux权限管理总结(1)--基础权限
  6. php协程和goroutine,golang中四种方式实现子goroutine与主协程的同步
  7. 明源云创CI/CD技术演进
  8. mysql递归查询 缓存_MySQL-递归查询方法解析
  9. Android BitmapShader 实战 实现圆形、圆角图片
  10. python win32转pdf 横版_python实现word转pdf
  11. matlab混合编程 mex,求教:matlab混合编程关于mex内自定义函数的输出
  12. 2021年6月Python小屋编程比赛获奖名单
  13. 2008秋季-计算机软件基础-0922课堂用例(2)
  14. Java使用ffmpeg将视频转为Mp4格式
  15. 开根号的笔算算法图解_手工开根号原理及其步骤
  16. 拉普拉斯变换解微分方程
  17. 微信开发--微信分享自定义图标和标题
  18. Nginx的 MIME TYPE问题导致的mjs文件加载出错的问题解决
  19. 毛刺现象 java_记一次微服务耗时毛刺排查
  20. 信息共享的记忆被囊群算法

热门文章

  1. Windows邮件添加QQ邮箱
  2. 用户一键登陆,如何实现?了解一下!
  3. DNS 智能解析功能评测之国内部分总结篇~
  4. cm4 NVIC完全解析
  5. python批量图片合并
  6. 卷积和反卷积输出的计算公式
  7. matlab数字信号处理常用函数
  8. 转贴自圣骑士wind:Google Maps Android API V2的使用及问题解决
  9. 流媒体与实时计算,Netflix公司Druid应用实践
  10. PNP三极管作为开关管如何使用(集电极接 负载)