电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python調用SMTP服務自動發送Email的實現步驟

瀏覽:2日期:2022-06-28 09:53:32
需求背景

假設我們想設計一個定時任務,比如每天定時的用python來測試服務是否在正常運行,但是又不希望每天登錄到系統后臺去查看服務狀態。這里我們就可以采取python的smtp模塊進行任務結果廣播,申請一個公共郵箱,每次python執行完定時的測試任務后,調用smtp的接口將測試結果廣播給需要接收的人的郵箱中。這就使得,我們可以在移動端就能按照我們的意愿實時監測系統的狀態。

QQ郵箱的SMTP服務配置流程

1.瀏覽器登錄進入QQ郵箱2.進入設置-賬戶

Python調用SMTP服務自動發送Email的實現步驟

3.找到POP3-SMTP服務的位置,點擊開啟

Python調用SMTP服務自動發送Email的實現步驟

4.進行一些驗證程序

Python調用SMTP服務自動發送Email的實現步驟

5.開啟成功后,系統會給出一串長度為16的隨機口令,用來替代密碼進行第三方登錄6.配置smtp服務器地址和端口號

使用授權碼登錄SMTP并發送郵件

這里我們直接展示成果代碼,其中一些隱私信息做了處理:

# smtp_test.py#!/usr/bin/python# -*- coding: UTF-8 -*- import smtplibfrom email.mime.text import MIMETextfrom email.header import Header # 第三方 SMTP 服務mail_host='smtp.qq.com' #設置服務器mail_user='your_name@qq.com' #用戶名mail_pass='passpasspasspass' #口令 sender = ’your_name@qq.com’receivers = [’your_target@qq.com’] # 接收郵件,可設置為你的QQ郵箱或者其他郵箱 message = MIMEText(’Python SMTP 郵件發送測試...’, ’plain’, ’utf-8’)message[’From’] = Header('SMTP EMAIL', ’utf-8’)message[’To’] = Header('TEST MESSAGE', ’utf-8’) subject = ’Python SMTP 郵件測試’message[’Subject’] = Header(subject, ’utf-8’) try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host, 25) # 25 為 SMTP 端口號 smtpObj.login(mail_user,mail_pass) smtpObj.sendmail(sender, receivers, message.as_string()) print ('郵件發送成功')except smtplib.SMTPException: import traceback traceback.print_exc() print ('無法發送郵件')

這里的服務器配置的SMTP的服務器smtp.qq.com,對應端口號配置為25,這里的口令和帳號應替換為讀者自己的授權口令和帳號。該程序的正常結果如下:

[dechin@dechin-manjaro smtp]$ python3 smtp_test.py 郵件發送成功

另外由于這里采用了tracback做錯誤日志采集,因此即使有報錯程序也能繼續執行,但是會廣播錯誤日志。

最后通過查詢郵箱里面的郵件(有時候可能會被放到垃圾箱里面),正常情況下可以看到一份這樣的郵件:

Python調用SMTP服務自動發送Email的實現步驟

使用crontab添加Linux系統定時任務

crontab是Linux系統下自帶的定時任務配置服務,基本使用方法就是通過crontab -l來查看定時任務,以及通過crontab -e來編輯定時任務。但是由于自帶的編輯器為nano,使用起來非常的不順手,所以我們可以將其編輯器配置為vim再進行使用,相關指令為:

[dechin@dechin-manjaro smtp]$ export EDITOR='/usr/bin/vim' ; crontab -e當然,在當前用戶登錄界面下,只需要臨時配置一次即可一直直接使用crontab -e進行配置,持久生效需要修改配置文件,這里不展開介紹。crontab的任務配置可以參考如下介紹(圖片來自于參考鏈接2):

Python調用SMTP服務自動發送Email的實現步驟

一個定時任務+SMTP廣播的示例

這里我們首先創建一個簡單的打印隨機數的任務,這樣如果我們在crontab中添加一個執行該程序的定時任務,就可以每次產生一個不同的隨機數并且將其輸出到一個指定的文件中,再通過另外一個smtp的定時任務進行讀取和廣播。以下是打印隨機數的任務內容:

[dechin@dechin-manjaro smtp]$ cat random_job.py import randomprint (random.random())

我們將前面用到的smtp的任務稍作修改,將隨機數讀取到郵件標題中:

# smtp_test.py#!/usr/bin/python# -*- coding: UTF-8 -*- import smtplibfrom email.mime.text import MIMETextfrom email.header import Header # 第三方 SMTP 服務mail_host='smtp.qq.com' #設置服務器mail_user='your_email@qq.com' #用戶名mail_pass='passpasspasspass' #口令 sender = ’your_email@qq.com’receivers = [’your_target@qq.com’] # 接收郵件,可設置為你的QQ郵箱或者其他郵箱 message = MIMEText(’Python SMTP 郵件發送測試...’, ’plain’, ’utf-8’)message[’From’] = Header('SMTP EMAIL', ’utf-8’)message[’To’] = Header('TEST MESSAGE', ’utf-8’)random_number = 1with open(’/home/dechin/projects/2021-python/smtp/random_number.txt’, ’r’) as file: random_number = float(file.readlines()[0])subject = ’The random number generated is: ’ + str(random_number)message[’Subject’] = Header(subject, ’utf-8’) try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host, 25) # 25 為 SMTP 端口號 smtpObj.login(mail_user,mail_pass) smtpObj.sendmail(sender, receivers, message.as_string()) print ('郵件發送成功')except smtplib.SMTPException: import traceback traceback.print_exc() print ('無法發送郵件')

最后,再配置好crontab定時任務如下:

[dechin@dechin-manjaro smtp]$ crontab -l* * * * * python3 /home/dechin/projects/2021-python/smtp/random_job.py > /home/dechin/projects/2021-python/smtp/random_number.txt* * * * * python3 /home/dechin/projects/2021-python/smtp/smtp_test.py

上面由于為了盡快的展示定時任務效果因此我們設置為每分鐘都執行一次任務,實際場景中不需要這么高頻率的定時任務測試。

最后查看郵箱收件箱,我們發現了一系列的定時任務的內容反饋如下:

Python調用SMTP服務自動發送Email的實現步驟

本文首發鏈接為:https://www.cnblogs.com/dechinphy/p/smtp.html作者ID:DechinPhy

以上就是Python調用SMTP服務自動發送Email的實現步驟的詳細內容,更多關于Python調用SMTP服務自動發送Email的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 999范文网_优质范文下载写作帮手 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 海德莱电力(HYDELEY)-无功补偿元器件生产厂家-二十年专业从事电力电容器 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 企业微信营销_企业微信服务商_私域流量运营_艾客SCRM官网 | 防爆电机-高压防爆电机-ybx4电动机厂家-河南省南洋防爆电机有限公司 | 同学聚会纪念册制作_毕业相册制作-成都顺时针宣传画册设计公司 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | 北京乾茂兴业科技发展有限公司 | 包装机_厂家_价格-山东包装机有限公司 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 上海橡胶接头_弹簧减震器_金属软接头厂家-上海淞江集团 | 上海诺狮景观规划设计有限公司 | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 上海道勤塑化有限公司 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 武汉画册印刷厂家-企业画册印刷-画册设计印刷制作-宣传画册印刷公司 - 武汉泽雅印刷厂 | 奶茶加盟,奶茶加盟店连锁品牌-甜啦啦官网| 生物除臭剂-除味剂-植物-污水除臭剂厂家-携葵环保有限公司 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 无缝钢管-聊城无缝钢管-小口径无缝钢管-大口径无缝钢管 - 聊城宽达钢管有限公司 | 称重传感器,测力传感器,拉压力传感器,压力变送器,扭矩传感器,南京凯基特电气有限公司 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 连续油炸机,全自动油炸机,花生米油炸机-烟台茂源食品机械制造有限公司 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 防锈油-助焊剂-光学玻璃清洗剂-贝塔防锈油生产厂家 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 |