1.1-钉钉报警

参考官方文档:https://open.dingtalk.com/document/orgapp/custom-robot-access

调用频率限制:

由于消息发送太频繁会严重影响群的使用体验,因此自定义机器人发送消息的频率限制如下:

每个机器人每分钟最多发送20条消息到群里,如果超过20条,会限流10分钟。

步骤一:获取自定义机器WebHook

步骤二:在机器人管理页面选择自定义机器人,输入机器人名字并选择要发送消息的群,同时可以为机器人设置机器人头像

步骤三:完成必要的安全设置,勾选我已阅读并同意《自定义机器人服务及免责条款》,然后单击完成

步骤四:完成设置后,复制出机器人的Webhook地址,可用于向这个群发送消息,格式如下:

https://oapi.dingtalk.com/robot/send?access_token=XXXXXX

步骤五:使用自定义机器人

获取到Webhook地址后,用户可以向该地址发起HTTP POST 请求,即可实现给该钉钉群发送消息

注意:

  • 已默认开通使用自定义机器人发消息的权限,无需申请。即向Webhook地址发请求时,无需申请权限。

  • 发起POST请求时,必须将字符集编码设置成UTF-8。

  • 每个机器人每分钟最多发送20条。消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景 (譬如系统监控报警) 可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。

当前自定义机器人支持以下消息类型,请根据自己的使用场景选择合适的类型,详情参见消息类型及数据格式。

  • 文本 (text)

  • 链接 (link)

  • markdown(markdown)

  • ActionCard

  • FeedCard

自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”里面的人员收到该消息时,会有@消息提醒。免打扰会话仍然通知提醒,首屏出现“有人@你”

步骤六:测试自定义机器人:

import requestsdef send_warning(info):url = "https://oapi.dingtalk.com/robot/send?access_token=xxx"headers = {"Content-Type": "application/json"}data = data = {"msgtype":"text","text":{"content":"-----------自定义标题内容----------\n\n"+info},"at": {"atMobiles":["xxxx" # 电话号码],"atUserIds":["xxx" # 钉钉id],"isAtAll": False}}res = requests.post(url=url,headers=headers,data=json.dumps(data)) # 发送post请求print(res.text)if __name__ == '__main__':info = "xxx"send_warning(info)

以上,钉钉的userID查看方式:钉钉客户端-个人信息-钉钉号 设置或查看

1.2-邮件发送

此处以网易邮箱为例,其他邮箱类似

1.2.1-邮件设置

开启POP3/SMTP服务,会产生一个授权码(仅显示一次,请妥善保存

1.2.2-发送邮件类及方法

·类方法

发送邮件相关类方法:(配置完可直接使用),此处发送的为HTML标签及内容

import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipartclass SendEmail:def __init__(self,host,port,user,password):self.__host = hostself.__port = portself.__user = userself.__password = passwordself.smtp = smtplib.SMTP()# 链接指定服务器self.smtp.connect(host=self.__host,port=self.__port)# 登陆,需要登陆邮箱和授权密码self.smtp.login(user=self.__user, password=self.__password)def send_message(self, content, subtype, charset=None, from_addr=None, to_addrs=None,header_text=None):# 构造MIMEText对象,参数为:正文,MIME的subtype,编码方式self.message= MIMEMultipart()self.message.attach(MIMEText(content, subtype, charset))# 正文内容   plain代表纯文本,html代表支持html文本# self.message = MIMEText(content,subtype, charset)self.message["From"] = Header(from_addr) # 可自定义if isinstance(to_addrs, list):to_addrs_str = ','.join(to_addrs)else:to_addrs_str = to_addrsself.message["To"] = Header(to_addrs_str)self.message['Subject'] = Header(header_text, 'utf-8') self.smtp.sendmail(from_addr=from_addr, to_addrs=to_addrs_str, msg=self.message.as_string())if __name__ == "__main__":SendEmail(host="smtp.163.com", port=25, user="xxx@163.com", password="xxx").send_message(content="""<h1 style="color:red">仅用于测试</h1>""",subtype='html',charset='utf-8',from_addr="xxx@163.com",to_addrs=["xxx@163.com","xxx@qq.com"],header_text="xxxx标题")

效果显示如下:

 ·方法

import smtplib
from email.mime.text import MIMEText
from email.header import Headerdef send_emailMessage():# 创建 SMTP 对象smtp = smtplib.SMTP()# 连接(connect)指定服务器smtp.connect(host="smtp.163.com", port=25)# 登录,需要:登录邮箱和授权码smtp.login(user="xxx@163.com", password="xxx")message = MIMEText('xxx', 'plain', 'utf-8') # 此处为文本,设置为plainmessage['From'] = Header("xxx@163.com")  # 发件人的昵称message['To'] = Header("xxx@163.com,xxx@qq.com")  # 收件人的昵称message['Subject'] = Header('xxx', 'utf-8')  # 定义主题内容print(message)smtp.sendmail(from_addr="xxx@163.com", to_addrs="xxx@163.com,xxx@qq.com", msg=message.as_string())if __name__=='__main__':send_emailMessage()

效果显示如下:

1.Python相关---钉钉报警及邮件发送相关推荐

  1. 表格某一列不固定其余全固定_如何利用Python一键拆分表格并进行邮件发送~

    因为平时经常要将 一张表 拆成工作簿,拆完还要发给不同的对象,工作又使用outlook发邮件,所以本文调用outlook账号进行邮件的发送作为示例:在 一张表拆成多个sheet的基础上,修改了代码,可 ...

  2. python可以自动拆分表格吗_如何利用Python一键拆分表格并进行邮件发送~

    因为平时经常要将 一张表 拆成工作簿,拆完还要发给不同的对象,工作又使用outlook发邮件,所以本文调用outlook账号进行邮件的发送作为示例:在 一张表拆成多个sheet的基础上,修改了代码,可 ...

  3. python实现kindle每天推送博客1----kindle推送原理,python实现qq邮箱登录及邮件发送

    kindle想每天看新闻,看博客, 其实自己用python写个代码就能很简单实现了. 1.kindle推送原理 kindle不仅可以买书看书,还可以自己推送内容 原理很简单,往你个人的kindle邮箱 ...

  4. TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)

    在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...

  5. foxmail邮件加载失败重试_TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)...

    修改php.ini中的一些配置 extension=php_openssl.dll //前面的分号去掉,allow_url_fopen = Off 改为 allow_url_fopen = On PH ...

  6. 关于我从程序员变成“韭零后“这件事【node实现邮件发送】

    一.前情提要 我认识个朋友,一万元起家做股票短短一个月就赚了38万.我问他怎么赚的,他说他给别人推荐股票跌停了,被人打断了腿,对方赔的...⊙﹏⊙∥   以上是段子切勿当真 ๑乛◡乛๑ ,本人作为一个 ...

  7. 手机邮箱看不到已发送邮件_TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」) - blog_zss小帅-博客猿...

    在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...

  8. python 钉钉发邮件报警设置

    1.异常信息内容编辑 # 异常信息发送至钉钉报警 if res.get("msg")=="查询失败":print("查询失败")XiaoTi ...

  9. 钉钉一行代码_利用Python快速搭建钉钉和邮件数据推送系统

    前面的文章我们写到了利用Python实现钉钉和邮件的数据推送,在数据处理这一块实现了对mysql和odps的数据获取和处理,可以满足常规业务大部分数据场景需求,在一家初创公司数据基础建设还不完善的时候 ...

最新文章

  1. Python 库突发 PyPI 危机!
  2. SSIM(structural similarity index),结构相似性
  3. 为什么人类的大脑认为数学“美”?
  4. iOS 之如何利用 RunLoop 原理去监控卡顿?
  5. JavaScript基础知识。
  6. vs2019社区版+qt5.14.2+Coin3D安装
  7. raw data/PF data/Q30 data/clean data的不同
  8. Java源码-猜数字小游戏(Swing编程版)
  9. Linux性能优化(五)——性能监控工具
  10. 基于 Verilog 的经典数字电路设计(14)移位寄存器
  11. 利用百度API进行淘宝评论关键词提取
  12. 手机游戏创业者的苦涩:成功率被指0.1%
  13. 你的CRM系统为什么用不起来?
  14. html5页面命名,html命名规则
  15. 把redis部署到百度BAE上时的注意点
  16. 磁盘列阵技术介绍及其部署
  17. 自动驾驶中图像与点云融合的深度学习研究综述
  18. 基于余弦相似度的改进蝴蝶优化算法
  19. windows10图片打开找不到内置图片查看器
  20. 电荷放大器的原理与应用

热门文章

  1. 常见的评价指标及其计算方法
  2. Elisp之实时检测按键输入(十二)
  3. Redis追命连环问,你能回答到第几问?(中)Redis性能,与memcache区别,淘汰策略及数据持久化
  4. 极客学院 JAVA视频教程
  5. 买CS鼠标想到的鼠标移动距离跟指针移动距离的对应
  6. UnboundLocalError: local variable referenced before assignment
  7. C++ XML 库 TinyXML2 的基本使用
  8. 爬取蝉妈妈数据平台商品数据
  9. c语言 字符串 strncpy,详解c语言中的 strcpy和strncpy字符串函数使用
  10. 产品开发的心得(一)