从零开始的Linux运维屌丝之路,资源免费分享平台   运维人员首选:简单、易用、高效、安全、稳定、社区活跃的开源软件

Linux使用mail命令发送邮件

发布:蔺要红04-14分类: 运维


1、使用mial命令第三方、并非使用sendmail postfix25端口

 
发邮件格式
mail -s "hello"  122269@qq.com < /www/server/nginx/conf/nginx.conf  # 发送文本里的内容
mail -s "hello" -c "122123498@qq.com" 1222609@qq.com < /www/server/nginx/conf/nginx.conf
发送给多个人,271537752为收件人,122123498为抄送人(echo方式)
echo "邮件正文" | mail  -s  "测试失败"  -c  "122123498@qq.com"    271537752@qq.com
cat   邮件正文.txt | mail -s 邮件主题  271537752@qq.com
mail -s "主题"  271537752@qq.com   < 文件(邮件正文.txt)

echo "这里输入你邮件内容" | mail -s "邮件标题" -a test.txt 122609@qq.com  发送附件

# 备份数据库并发发送到邮箱,呵呵奇葩要求天天有
mysqldump -uroot -p442e1ef63d8c8759 -B -F -R --triggers --single-transaction --master-data=2 --events  y107_shangtua_c|gzip >/backup/$(date +%F)tsryd.sql.gz
cd /backup/
echo "SQL_file" | mail -s "SQL_file" -a $(date +%F)_tsryd.sql.gz XXXXX09@qq.com

QQ邮箱设置方式(163同理,qq改为163,其他设置成163邮箱)
[root@moban .mailqq]# vim  /etc/mail.rc 
set from=linyaohong
set from=122123498@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=122123498@qq.com
set smtp-auth-password=khcdkdfqyylkcadd   #这里并非邮箱密码,而是开始smtp的授权密码,具体邮箱获取方法不同
set smtp-auth=login

2、465端口发送邮件(阿里云服务器25端口被禁用了)
 
163邮箱
#创建目录,用来存放证书
[root@moban ~]# mkdir -p /root/.mail/ 
#请求证书
[root@moban ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.mail/163.crt 
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = GeoTrust Inc., CN = GeoTrust SSL CA - G3
verify return:1
depth=0 C = CN, ST = ZheJiang, L = HangZhou, O = "NetEase (Hangzhou) Network Co., Ltd", CN = *.163.com
verify return:1
DONE 
#添加一个证书到证书数据库中
[root@moban ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.mail -i ~/.mail/163.crt  
[root@moban ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.mail -i ~/.mail/163.crt 
#列出目录下证书
[root@moban ~]# certutil -L -d /root/.mail/

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

GeoTrust SSL CA                                              C,,
#编辑配置文件
[root@moban .mailqq]# vim  /etc/mail.rc   #尾部添加下列内容
set from=m18653902018@163.com
set smtp-auth-user=m18653902018@163.com
set smtp="smtps://smtp.163.com:465"
set smtp-auth-password=Aa111111
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.mail

测试发邮件

[root@409web .mailqq]echo "邮件正文" | mail -s "邮件主题" -c "122123498@qq.com" "271537752@qq.com"

此时发送邮件能发送成功,但是发送完邮件还有报错:证书不被信任,且命令行就此卡住,需要按键才能出现命令提示符

设置证书信任

cd /root/.mail/ 
[root@moban .mail]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt 
Notice: Trust flag u is set automatically if the private key is present.

QQ邮箱(126同理)
 
mkdir -p /root/.mailqq/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.mailqq/qq.crt 
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.mailqq -i ~/.mailqq/qq.crt  
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.mailqq -i ~/.mailqq/qq.crt 
certutil -L -d /root/.mailqq/
 cd .mailqq/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt 
配置文件:
set from=122123498@qq.com
set smtp-auth-user=122123498@qq.com
set smtp="smtps://smtp.qq.com:465"
set smtp-auth-password=khcdkdfqyylkcadd
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.mailqq
 
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,如有侵权我会在24小时之内删除!

欢迎使用手机扫描访问本站