日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

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

發(fā)布時(shí)間:2024/1/18 python 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.Python相关---钉钉报警及邮件发送 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.1-釘釘報(bào)警

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

調(diào)用頻率限制:

由于消息發(fā)送太頻繁會(huì)嚴(yán)重影響群的使用體驗(yàn),因此自定義機(jī)器人發(fā)送消息的頻率限制如下:

每個(gè)機(jī)器人每分鐘最多發(fā)送20條消息到群里,如果超過20條,會(huì)限流10分鐘。

步驟一:獲取自定義機(jī)器WebHook

步驟二:在機(jī)器人管理頁(yè)面選擇自定義機(jī)器人,輸入機(jī)器人名字并選擇要發(fā)送消息的群,同時(shí)可以為機(jī)器人設(shè)置機(jī)器人頭像

步驟三:完成必要的安全設(shè)置,勾選我已閱讀并同意《自定義機(jī)器人服務(wù)及免責(zé)條款》,然后單擊完成

?

?步驟四:完成設(shè)置后,復(fù)制出機(jī)器人的Webhook地址,可用于向這個(gè)群發(fā)送消息,格式如下:

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

步驟五:使用自定義機(jī)器人

獲取到Webhook地址后,用戶可以向該地址發(fā)起HTTP POST 請(qǐng)求,即可實(shí)現(xiàn)給該釘釘群發(fā)送消息

注意:

  • 已默認(rèn)開通使用自定義機(jī)器人發(fā)消息的權(quán)限,無(wú)需申請(qǐng)。即向Webhook地址發(fā)請(qǐng)求時(shí),無(wú)需申請(qǐng)權(quán)限。

  • 發(fā)起POST請(qǐng)求時(shí),必須將字符集編碼設(shè)置成UTF-8。

  • 每個(gè)機(jī)器人每分鐘最多發(fā)送20條。消息發(fā)送太頻繁會(huì)嚴(yán)重影響群成員的使用體驗(yàn),大量發(fā)消息的場(chǎng)景 (譬如系統(tǒng)監(jiān)控報(bào)警) 可以將這些信息進(jìn)行整合,通過markdown消息以摘要的形式發(fā)送到群里。

當(dāng)前自定義機(jī)器人支持以下消息類型,請(qǐng)根據(jù)自己的使用場(chǎng)景選擇合適的類型,詳情參見消息類型及數(shù)據(jù)格式。

  • 文本 (text)

  • 鏈接 (link)

  • markdown(markdown)

  • ActionCard

  • FeedCard

自定義機(jī)器人發(fā)送消息時(shí),可以通過手機(jī)號(hào)碼指定“被@人列表”。在“被@人列表”里面的人員收到該消息時(shí),會(huì)有@消息提醒。免打擾會(huì)話仍然通知提醒,首屏出現(xiàn)“有人@你”

步驟六:測(cè)試自定義機(jī)器人:

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":"-----------自定義標(biāo)題內(nèi)容----------\n\n"+info},"at": {"atMobiles":["xxxx" # 電話號(hào)碼],"atUserIds":["xxx" # 釘釘id],"isAtAll": False}}res = requests.post(url=url,headers=headers,data=json.dumps(data)) # 發(fā)送post請(qǐng)求print(res.text)if __name__ == '__main__':info = "xxx"send_warning(info)

以上,釘釘?shù)膗serID查看方式:釘釘客戶端-個(gè)人信息-釘釘號(hào) 設(shè)置或查看

1.2-郵件發(fā)送

此處以網(wǎng)易郵箱為例,其他郵箱類似

1.2.1-郵件設(shè)置

?開啟POP3/SMTP服務(wù),會(huì)產(chǎn)生一個(gè)授權(quán)碼(僅顯示一次,請(qǐng)妥善保存

?

1.2.2-發(fā)送郵件類及方法

·類方法

?發(fā)送郵件相關(guān)類方法:(配置完可直接使用),此處發(fā)送的為HTML標(biāo)簽及內(nèi)容

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()# 鏈接指定服務(wù)器self.smtp.connect(host=self.__host,port=self.__port)# 登陸,需要登陸郵箱和授權(quán)密碼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):# 構(gòu)造MIMEText對(duì)象,參數(shù)為:正文,MIME的subtype,編碼方式self.message= MIMEMultipart()self.message.attach(MIMEText(content, subtype, charset))# 正文內(nèi)容 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">僅用于測(cè)試</h1>""",subtype='html',charset='utf-8',from_addr="xxx@163.com",to_addrs=["xxx@163.com","xxx@qq.com"],header_text="xxxx標(biāo)題")

效果顯示如下:

?

?·方法

import smtplib from email.mime.text import MIMEText from email.header import Headerdef send_emailMessage():# 創(chuàng)建 SMTP 對(duì)象smtp = smtplib.SMTP()# 連接(connect)指定服務(wù)器smtp.connect(host="smtp.163.com", port=25)# 登錄,需要:登錄郵箱和授權(quán)碼smtp.login(user="xxx@163.com", password="xxx")message = MIMEText('xxx', 'plain', 'utf-8') # 此處為文本,設(shè)置為plainmessage['From'] = Header("xxx@163.com") # 發(fā)件人的昵稱message['To'] = Header("xxx@163.com,xxx@qq.com") # 收件人的昵稱message['Subject'] = Header('xxx', 'utf-8') # 定義主題內(nèi)容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()

效果顯示如下:

總結(jié)

以上是生活随笔為你收集整理的1.Python相关---钉钉报警及邮件发送的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。