阿里云服务器mail发送邮件的坑!!!!

贾珍
• 阅读 6507

因为阿里云默认将目的端口为TCP25的出现流量屏蔽了,所以改用465 ssl端口发送邮件

下面步骤注意更改名字,密码,目录等,不需要增加安全组任何端口。大致步骤复制粘贴一定成功

一、安装mailx,通过此工具实现

[root@db ~]# yum install -y mailx
[root@db ~]# vim /etc/mail.rc
设置发件人信息

.....
set from=wushuting@kting.cn
set smtp=smtps://smtp.exmail.qq.com:465
set smtp-auth-user=***ting@kting.cn
set smtp-auth-password=***
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

set smtp=smtps:设置发送邮件的服务器端口,如果非企业邮箱去掉exmail
set smtp-auth-password:设置qq企业邮箱授权密码
set ssl-verify:忽略ssl检查
set nss-config-dir:指定证书所在的目录

二、申请证书

[root@db ~]# mkdir .certs

向qq企业邮箱申请证书
[root@db ~]# echo -n | openssl s_client -connect smtp.exmail.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > .certs/qq.crt
[root@db ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
[root@db ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

列出目录下的证书
[root@db ~]# certutil -L -d ~/.certs/
[root@db ~]# cd .certs/

标记证书
[root@db .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

三、发送邮件

[root@db ~]# echo "test" | mail -s 'test' ***ting@kting.com

我写了一个简单的mysql全备shell脚本,通过mailx调用通知

#!/bin/bash
PWD="***"
LOG_FILE=/root/crontab/backup.log
BAKDIR=/store/backup
MAIL_USER=***ting@kting.cn
DATE=`date '+%Y%m%d_%H-%M-%S'`

#清空输出日志
> $LOG_FILE

function bakstart {
#开始备份
local DATE
DATE=`date '+%Y%m%d_%H-%M-%S'`
echo "$DATE backup database start!" >> $LOG_FILE
/data/server/mysql/bin/mysqldump  -uroot -p${PWD} --opt --default-character-set=utf8 --all-databases > $BAKDIR/mysql_all_$DATE.sql
if [ $? == 0 ];then
echo "size:`du -sh $BAKDIR/mysql_all_$DATE.sql | awk '{print $1}'`" >> $LOG_FILE
#结束备份,压缩备份
cd $BAKDIR
gzip $BAKDIR/mysql_all_$DATE.sql
     if [ $? == 0 ];then
         return 0
     else
         return 1
     fi
else
     return 2
fi
}

#返回值输出信息
bakstart
case $? in
0)
echo "`date '+%Y%m%d_%H-%M-%S'` backup database stop!" >> $LOG_FILE ;;
1)
echo "gzip faile!" >> $LOG_FILE ;;
2)
echo "database backup faile! check $BAKDIR" >> $LOG_FILE ;;
esac

#拷贝日志,邮件发送日志
cp $LOG_FILE{,-$DATE}
mail -s 'database mail' $MAIL_USER < $LOG_FILE

转载于网络进行整理,望采纳

点赞
收藏
评论区
推荐文章
菜鸟阿都 菜鸟阿都
4年前
python实现邮件发送
前言使用python的第三方库yagmail实现邮件发送的功能yagmail官网文档:第一步:申请一个邮箱作为发送邮箱此处以网易邮箱为例,因为使用python代码实现邮件的发送,需要开启邮箱的授权密码功能,用生成的授权密码作为发送邮件的密码,以下步骤为开启网易邮箱的授权密码功能。第二步:安装yagmail库languagepipinstally
菜鸟阿都 菜鸟阿都
4年前
liunx服务器防火墙开启导致无法远程连接解决方案
前言在使用阿里云服务器的过程中,开启了服务器的防火墙,导致本地xshell以及阿里云官网自带的远程连接【端口:22】均无法使用,所有服务器开启的端口无法使用,在联系阿里云技术客服后,才得到了解决,将整个解决方案总结如下,希望可以帮到那些遇到此类问题的同学。解决思路1.设置救援连接密码2.进行救援连接(和电脑系统的安全模式启动类似)3.关闭防火墙4.成功解决
Wesley13 Wesley13
3年前
java 465端口发送邮件
packagecom.fr.function;importjava.io.IOException;importjava.security.Security;importjava.util.Date;importjava.util.Properties;importjav
Stella981 Stella981
3年前
Centos7中使用iptables,docker容器中实例,外网端口无法访问
因微信小程序需要https的域名访问方式,阿里云无法通过IP和端口绑定域名,只能通过IP进行绑定,故如果不想直接使用443端口,就只能进行端口映射了。这里我使用iptables。由于centos7默认是使用firewall作为防火墙,下面介绍如何将系统的防火墙设置为iptables。停止firewall systemctlstopfire
Stella981 Stella981
3年前
Linux系统环境基于Docker搭建Mysql数据库服务实战
开放端口规划:mysqldevelop:3407mysqltest:3408mysqlrelease:3409ps:1.不推荐使用默认端口3306,建议自定义端口2.如果采用阿里云服务器,在安全组开放端口3.自建服务器依据实际情况打开防火墙开放端口\各个系统防火墙不一样,操作有所不同\,譬如:C
Stella981 Stella981
3年前
MediaWiki 设置QQ邮箱SMTP(SSl方式)发送邮件
MediaWiki默认采用本机作为邮件发送服务器,而发出去的邮件很容易被接收方当成垃圾邮件或者直接被屏蔽掉,所以建议直接采用第三方smtp服务器,以腾讯企业邮箱为例:安装需要的库PHP7使用composer安装依赖库composerrequireupdatenodevpear/mailpear/net_smt
Stella981 Stella981
3年前
CentOS7增加或修改SSH端口号
https://blog.csdn.net/ausboyue/article/details/53691953前言:开启某服务或软件的端口,要从该服务或软件监听的端口(多以修改配置文件为主),SeLinux和防火墙(FireWall)的安全策略下手。如果使用阿里云,腾讯等第三方服务器还需要对管理控制台的安全组下手。下面进入主题,如果有什么
Stella981 Stella981
3年前
Linux 如何打开端口
  今天开通了一个阿里云主机,在安装tomcat服务后发现80、8080等端口不通,网上找了资料,先是按如下步骤操作:vi/etc/sysconfig/iptables \AINPUTmstate–stateNEWmtcpptcp–dport80jACCEPT(允许80端口通过防火
Stella981 Stella981
3年前
CentOS7.x Mailx 发送邮件
::纯真干货,不罗嗦1.判断是否有mailx用mailv若有则证明有mail输入quit退出即可,若没有安装mailx,yuminstallmailx。2.获取授权码,通过要发送的STMP邮箱设置内获取授权码用于发送邮件3.vim/etc/mail.rc增加\codelanager"shell"\set
Stella981 Stella981
3年前
Linuxprobe15
电子邮件系统简单邮件传输协议(SimpleMailTransferProtocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口。邮局协议版本3(PostOfficeProtocol3):用于将电子邮件存储到本地主机,占用服务器的110/TCP端口。Internet消息访问协议版本4(In
3A网络 3A网络
2年前
Docker安装RabbitMQ详细步骤
Docker安装RabbitMQ详细步骤前提:1、在服务器的安全组和防火墙中放通相对应的端口,操作系统:centos7.6,需要放通5672和15672端口2、登录自己的Linux系统服务器3、关闭服务器内部的firewalld防火墙4、开启内核端口转发:通过vim/etc/sysctl.conf把里面的net.ipv4.ipforward0修改为