Shell脚本发送邮件(CentOS+mailx+QQ邮箱)
1. mailx
1. 准备工作
- 打开邮箱设置,开启pop3/smtp服务和imap/smtp服务
- 安装mailx:
yum install -y mailx
2. 配置
设置/etc/mail.rc文件,在文件尾追加如下配置,
set from=xxx@qq.com #发件人邮箱
set smtp=smtp.qq.com
set smtp-auth-user=xxx@qq.com #登录用户名
set smtp-auth-password= #邮箱授权码,在QQ邮箱设置界面发短信生成
set smtp-auth=login #登录
3. 发送邮件
$ echo "Hello Maxwell,这里是邮件正文." | mail -s "邮件主题" xxx@qq.com
等几秒钟,就可以收到邮件了
4. 其他参数
使用mail -h查看,带邮件正文
带正文邮件
#多个收件人使用逗号隔开
#重定向
mail -s "Tile" xxx@qq.com,yyy@qq.com < /root/sms_out.txt
#管道
cat /root/sms_out.txt | mail -s "Tile" xxx@qq.com
带附件邮件
mail -s "Tile" xxx@qq.com -a /root/sms_out.txt
5. 使用SSL SMTP发送邮件
从QQ邮箱获取SSL证书,并在CentOS中设置
#存放证书的位置
$ ~ mkdir -p /root/.certs
#获取QQ 邮箱的 SSL 证书
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt#添加第一个证书到证书数据库中
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
#添加第二个证书到证书数据库中
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt#列出指定的目录下的所有证书
certutil -L -d /root/.certs
#如果出现Error in certificate: Peer's certificate issuer is not recognized.执行下面命令
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs -i ~/.certs/qq.crt
我遇到的错误提示Error in certificate: Peer's certificate issuer has been marked as not trusted by the.解决办法
$ certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs -i ~/.certs/qq.crt
Notice: Trust flag u is set automatically if the private key is present.
编辑/etc/mail.rc配置文件,修改和增加配置如下:
#修改
set smtp=smtps://smtp.qq.com:465
# set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/root/.certs
6. mail、mailx、sendmail和postfix对比
mail和mailx是邮件客户端,属于mail user agent,MUA,负责查看、编写邮件和向MTA发送邮件,mailx是mail的功能加强版。
sentmai和postfilx是邮件服务器,可以用做mail transport agent,MTA,负责邮件在网络上传输的MTA,将邮件从一个MTA传送至另一个MTA。
邮件用户代理(MUA,Mail User Agent);
邮件传送代理(MTA,Mail Transport Agent);
邮件分发代理(MDA,Mail Deliver Agent)。
2. sentmail
参考这个吧,目前没时间搞了
使用shell脚本发送邮件带附件:
https://blog.csdn.net/bingdianone/article/details/100879050
Shell脚本发送邮件(CentOS+mailx+QQ邮箱)相关推荐
- php 邮件发送设置_PHP实现自动发送邮件功能代码(qq 邮箱)
最近做一个邮箱验证的功能,研究了一会,搞定了邮件的自动发送.下面用qq邮箱作为演示,一步一步来解释: 代码下载地址 首先,就是做到邮件的发送,代码如下: //邮件发送 require "./ ...
- 邮箱注册(发送邮件验证码;QQ邮箱)
邮箱注册(发送邮件验证码:QQ邮箱) 先去QQ邮箱-->点击设置有POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务.开通会有授权码 复制粘贴代码就可以使用.根据指 ...
- linux 脚本 发送邮件,shell 脚本发送邮件
有时候会使用脚本完成一系列的自动化工作,工作完成后还需要邮件通知相关人员,此时可以使用第三方的工具:SendEmail,最新版本sendEmail-v1.56.tar.gz 下载地址:http://c ...
- php自动发送邮件,PHP实现自动发送邮件功能代码(qq 邮箱)_php实例
本文给大家分享以qq邮箱为例给大家介绍PHP实现自动发送邮件功能代码,感兴趣的朋友参考下吧 最近做一个邮箱验证的功能,研究了一会,搞定了邮件的自动发送.下面用qq邮箱作为演示,一步一步来解释: 代码下 ...
- 常识-java发送邮件函数+开启qq邮箱授权码
文章目录 前言 开启邮箱授权码 使用邮箱和授权码创建发邮件的客户端 前言 一个可以向指定邮箱地址发送邮件的函数 假设有a,b两个邮箱 a邮箱可以作为发送者,b邮箱随意,a邮箱只需要获得授权码,就可以向 ...
- php通过qq邮箱发送邮件,PHP 利用QQ邮箱发送邮件「PHPMailer」
在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...
- Unity 发送邮件(附 QQ邮箱开启Smtp授权方法)
增加个说明哈,发布后失败,如果实现,欢迎骚扰 namespace LastZero.Utility {/// <summary>/// 邮件控制类/// </summary>p ...
- 解决利用smtplip自动发送邮件时,qq邮箱“您的帐号存在安全隐患,建议修改密码后尝试重新发送.”的问题
遇到此问题的场景:利用smtplib自动发送邮件,重复发送多次,导致qq邮箱每次打开都有此提示.按照提示修改密码也无法关闭这个提示. 解决方法: 1.打开qq邮箱,进入"帐户→设置独立密码& ...
- Qt_发送邮件(以qq邮箱为例)
测试使用流程: 打开cmd命令输入:telnet smtp.qq.com 25 如果出现"telnet不是内部或外部命令的解决方案"的提示语则按照下面链接设置电脑(链接) 如果成功 ...
最新文章
- Eclipse create git repository failure(egit)
- hal库开启中断关中断_[STM32]HAL库下GPIO按键中断与去抖问题分析(分析源码解决问题)...
- 某银行省级数据中心IT运维服务体系建设完整思路
- linux datetime,Python datetime模块示例详解
- 【数字逻辑设计】Logisim构建四位行波进位加法器
- springmvc整合fastjson
- Vue之$options
- cmd 根据计算机名查ip地址_如何查找和更改Mac上的IP地址
- 在本地电脑搭建一个网站 转自本文地址:http://www.fengzimo.com/1503.html 来源 疯子墨...
- 干货,AES破解路程-生意参谋举例
- 微pe工具箱是微软的吗_电脑装系统用一键装机好用还是微PE工具箱好用
- Switch 块、Switch 表达式、Switch 模式匹配,越来越好用的 Switch
- [MRCTF2020]你传你马呢
- 【Linux】返回上级目录
- 2019.2.18 模板的创建和自定义子模板文件(single.php 等)
- 怎么样用计算机弹出小星星,【钢琴入门自写教程 1】小星星弹奏
- 电话用计算机接听,怎么用电脑打电话-现在你可以在电脑上接听安卓手机的电话了...
- pil对图像加透明 python_关于python:如何使用PIL将透明png图像与另一个图像合并...
- CSS浮动-5.1浮动比较重要-使用folat属性来设置元素的浮动-left-right-none
- 小程序如何cdn加速服务器,小程序游戏加速方案
热门文章
- Fritzing软件绘制Arduino面包板接线图传感器模块库文件300
- 2019xupt-acm校赛 题解(C.给你一个666)by出题组tongtong
- linux磁盘阵列教程,RAID 磁盘阵列简述
- can总线隔离中继器、canbridge-100、CanRepeater的can波特率和滤波设置
- SQLServer错误代码解释
- The server time zone value ‘ ‘ is unrecognized or represents more than one time zone
- 海康监控视频无插件开发3.2版本运行demo
- Python matplotlib 饼图
- 查找附近的xxx 球面距离以及Geohash方案探讨
- TiDB 实战优化之 SQL 常见问题与优化案例