2、阿里云ECS发送邮件到腾讯企业邮箱(ECS默认不开启25端口)
阿里云ECS默认禁用25端口导致发邮件失败。
方法一:
使用shell脚本发送邮件,需要配置mailx
1、安装软件
yum install mailx
2、配置
vim /etc/mail.rc在文件最后加上如下内容:
set smtp=smtps://smtp.exmail.qq.com:465 #邮箱服务器地址
set from=xxxx@xxx.com #发送邮件的来源
set smtp-auth-user=xxxx@xxx.com #用户名
set smtp-auth-password=xxxx #密码
set nss-config-dir=/etc/pki/nssdb/ #证书位置
set ssl-verify=ignore
set smtp-auth=login
3、配置证书
mkdir -p /etc/pki/nssdb/
cd /etc/pki/nssdb
#生成证书
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/pki/nssdb/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d /etc/pki/nssdb/ -i /etc/pki/nssdb/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d /etc/pki/nssdb/ -i /etc/pki/nssdb/qq.crt
certutil -L -d /etc/pki/nssdb/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt #认证
4、测试发送邮件
echo "this email come from centos"|mail -v -s "zabbix" xxx@xxx.com
告警邮件使用的shell脚本:
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -v -s "${subject}" $1 >>/tmp/mailx.log 2>&1
方法二:
直接使用py脚本发送邮件,使用ssl的465端口,简单快捷。
#!/bin/env python
#coding:utf8
import smtplib
from email.mime.text import MIMEText
from email.utils import parseaddr,formataddr
from email.header import Header
import sys
def _format_addr(s):
name,addr = parseaddr(s)
#将邮件的name转换成utf-8格式,addr如果是unicode,则转换utf-8输出,否则直接输出addr
return formataddr((Header(name,'utf-8').encode(),addr.encode("utf-8") if isinstance(addr,unicode) else addr))
def send_mail(to_list,subject,content):
fromaddr = "caibs@xmpaoyou.com"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = _format_addr(u'线上监控平台告警<%s>'%fromaddr)
msg['to'] = to_list
try:
server = smtplib.SMTP_SSL(mail_host,465)
server.login(mail_user,mail_pass)
server.sendmail(fromaddr,to_list,msg.as_string())
server.close()
return True
except Exception,e:
print str(e)
return False
if __name__ == "__main__":
#smtp信息
mail_host = 'smtp.exmail.qq.com'
mail_port = '465'
mail_user = 'ca'
mail_pass = 'Cb'
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
告警邮件内容
参考链接:
https://www.cnblogs.com/abkn/p/9720143.html
https://blog.csdn.net/qq32712784/article/details/48582945
2、阿里云ECS发送邮件到腾讯企业邮箱(ECS默认不开启25端口)的更多相关文章
- 阿里云ECS发送邮件到腾讯企业邮箱
1.安装软件 yum install mailx yum install sendmail 2.配置 vim /etc/mail.rc在文件最后加上如下内容: set smtp=smtps://smt ...
- python 发送邮件 <QQ+腾讯企业邮箱>
一.使用QQ邮箱或者腾讯企业邮箱 python 发送邮件属于网络编程方向的,在工作中,我需要经常用邮件来检测我的程序运行状况.使用起来十分方便,这里我就用腾讯企业邮箱作为我的收发邮箱来使用. 使用py ...
- 阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110]
阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110] 一.总 ...
- 直压到亚马逊AWS平台,阿里云OSS平台或者腾讯云COS平台
GTX Compressor (直压上云技术预览版) Powered by GTXLab of Genetalks. 技术预览版本下载地址: https://github.com/Genetalks/ ...
- 阿里云、青云、腾讯云服务器,Mysql数据库,Redis等产品性能对比
阿里云.青云.腾讯云服务器,Mysql数据库,Redis等产品都使用过,对比维度很多就不一一放出.直接放结论吧:买的腾讯(金融专区)服务器,Mysql(TDSql)把所有项目转到腾讯云,但是没有用腾讯 ...
- Java + 腾讯企业邮箱 + javamail + SSL 发送邮件
说实话腾讯的企业邮箱真心不错! 腾讯企业邮箱官网:http://exmail.qq.com/login/ 新用户注册:http://exmail.qq.com/onlinesell/intro 点击开 ...
- 记一次邮件推送的坑,c#基于smtp使用腾讯企业邮箱发送邮件总是失败的原因
今天在弄企业邮箱推送的东西,原版代码是这样的 public void SendEmail(string title, string content) { try { MailMessage mailM ...
- C#发送腾讯企业邮箱
腾讯企业邮箱客户端配置介绍 http://email-qq.cn/tengxun/201610303793.html?akvezc=smt0n2 POP3/SMTP协议 POP3/SMTP协议: 接收 ...
- 解析腾讯企业邮箱到自己域名,设置mail的cname
之前注册了腾讯企业邮的免费邮箱,后来想把企业邮箱和域名绑定起来,发现了一些问题. 先来看正常的部分,假设你已经注册过了腾讯企业邮箱免费版,并且已经绑定好了域名. 然后在域名提供商那里设置域名解析的MX ...
随机推荐
- (最详细)小米Note 3的Usb调试模式在哪里打开的流程
就在我们使用安卓手机链接PC的时候,或者使用的有些应用软件比如我们单位营销部门就在使用的应用软件引号精灵,之前使用的老版本就需要开启USB开发者调试模式下使用,现就在新版本不需要了,如果手机没有开启U ...
- luogu4365 秘密袭击 (生成函数+线段树合并+拉格朗日插值)
求所有可能联通块的第k大值的和,考虑枚举这个值: $ans=\sum\limits_{i=1}^{W}{i\sum\limits_{S}{[i是第K大]}}$ 设cnt[i]为连通块中值>=i的 ...
- 哈尔滨工程大学第十四届程序设计竞赛(同步赛)F 小帆帆走迷宫(dp)
题目描述 小帆帆被困在一个 NxN 的方格矩阵迷宫,每个格子中都有一个整数 A[i][j].小帆帆从迷宫起点(左上角)格子 A[1][1]开始走,每一步可以向右或向下移动,目标是移动到迷宫的出口右下角 ...
- spring 中的设计模式
https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=2247485205&idx=1&sn=63455d2313776d ...
- 查看macOS下正在使用的zsh
使用dscl . -read /Users/$USER UserShell查看 如果你的结果是/bin/zsh,又恰巧用brew安装了zsh的话,那么你可能就白安装了 将brew安装的zsh添加到/e ...
- FTP文件上传 支持断点续传 并 打印下载进度(二) —— 单线程实现
这个就看代码,哈哈哈哈哈 需要用到的jar包是: <dependency> <groupId>commons-net</groupId> <artifact ...
- 20175209 《Arrays和String单元测试》
20175209 <Arrays和String单元测试> 题目 在IDEA中以TDD的方式对String类和Arrays类进行学习,测试相关方法的正常,错误和边界情况 String类 ch ...
- 【转载】Nginx + Tomcat 实现反向代理
通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务器向Internet上的web服 ...
- Java基础--面向对象编程4(多态)
1.多态的概念 多态是指程序中的同一引用类型,使用不同的实例而执行结果不同的. 同一个类型:一般指父类 不同的实例:不同的子类实例 执行结果不同:针对同一方法执行的结果不同 package cn.sx ...
- PLSQL Developer中文乱码问题
前言 使用PLSQL工具进行连接远程oracle时,中文乱码 解决过程 1 查看服务器端编码 select userenv('language') from dual; 2 查看客户端编码 执行语句 ...