资讯专栏INFORMATION COLUMN

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

davidac / 3114人阅读

摘要:因为阿里云默认将目的端口为的出现流量屏蔽了,所以改用端口发送邮件下面步骤注意更改名字,密码,目录等,不需要增加安全组任何端口。

因为阿里云默认将目的端口为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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/33727.html

相关文章

  • Linux 发送邮件的命令行应用

    摘要:参考使用发送邮件安装其中是软件本身,是用来帮助发件的工具。关于配置的解释可以看这里发送邮件命令格式注意收件人的地址前一定要明确指定参数名,如下所示。否则无法正确发送附件。通过可以看到,发送出显示正常的邮件的版本是在树莓派上安装的。 发送邮件有超多种方法,但是接收邮件就要麻烦很多。所以这里先只讲发送邮件 先说明下:不管是什么邮件客户端,都是可以直接发邮件的。但是,因为默认的话,发件人是很...

    XanaHopper 评论0 收藏0
  • Linux发送邮件的命令行应用

    摘要:参考使用发送邮件安装其中是软件本身,是用来帮助发件的工具。关于配置的解释可以看这里发送邮件命令格式注意收件人的地址前一定要明确指定参数名,如下所示。否则无法正确发送附件。通过可以看到,发送出显示正常的邮件的版本是在树莓派上安装的。 先说明下:不管是什么邮件客户端,都是可以直接发邮件的。但是,因为默认的话,发件人是很随便地设置成你本机地名字。并且100%会被邮箱当成垃圾邮件处理。如果你去...

    _ivan 评论0 收藏0
  • PHP回顾之发送邮件

    摘要:随着云服务器的盛行,几乎无法以指向本机的域名向外发送邮件,除了在本机内发送提醒邮件,用处已然不大。发送效率低非面向对象的调用方式,配置麻烦以及云服务器厂商的封锁,是使用函数的最大阻碍。 转载请注明文章出处: https://tlanyan.me/php-review... PHP回顾系列目录 PHP基础 web请求 cookie web响应 session 数据库操作 加解密 Co...

    smallStone 评论0 收藏0
  • java通过smtp服务 给指定邮箱发送邮件含附件

    摘要:其中部分第三方邮箱可以实现用自己的域名来接发邮件,例如本文中介绍的是第二种方法,用腾讯企业邮箱为例参考借鉴的大神的原文地址这里重点只说明一下,腾讯企业邮箱来实现发邮件,代码的部分。 showImg(https://upload-images.jianshu.io/upload_images/15934130-069b1424fde38763.png?imageMogr2/auto-or...

    mingzhong 评论0 收藏0
  • 阿里ECS 操作系统CentOS下安装IRedMail收发邮件

    摘要:使用阿里云制作收发邮件服务器详细过程如下什么是免费开源邮件服务解决方案以最佳的方式搭建基于和开源软件的邮件服务器。 使用阿里云ECS制作IRedMail收发邮件服务器详细过程如下 1、什么是IRedMail? iRedMail - 免费、开源邮件服务解决方案以最佳的方式搭建基于 Linux/BSD 和开源软件的邮件服务器。始于 2007 年。支持 Red Hat Enterprise ...

    coordinate35 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<