Python定时发送邮件脚本怎么做_smtplib模块配置与任务调度
SMTP连接失败需改用SSL/TLS并配应用专用密码;定时任务要对齐环境路径并重定向日志;邮件编码须用MIMEText和Header指定UTF-8;密码应通过环境变量安全传递。
SMTP连接失败:认证被拒或超时怎么办
绝大多数邮件脚本卡在第一步——连不上邮箱服务器。不是密码错了,而是用错了端口、协议或没开应用专用密码。
-
smtplib.SMTP()默认走明文 25 端口,现在基本被各大邮箱(Gmail、QQ、163)拒绝;必须改用smtplib.SMTP_SSL()或smtplib.SMTP()+.starttls() - Gmail 必须开启“两步验证”后生成“应用专用密码”,不能直接用登录密码;QQ 邮箱需在“设置 → 账户 → POP3/IMAP/SMTP服务”里开启 SMTP,并获取授权码
- 国内邮箱如 163 对非 Web 登录限制更严,建议优先用
smtp.163.com+ 端口465+SMTP_SSL,别试25
定时任务跑不起来:cron / Windows 任务计划器常见断点
脚本本地能发,放进定时任务就静默失败——大概率是环境变量、工作路径或 Python 解释器路径没对齐。
- cron 默认
$PATH极简,不包含你pip install的包路径;要么在 crontab 里显式写全路径:/usr/local/bin/python3 /home/user/mail.py,要么在脚本开头加#!/usr/bin/env python3并chmod +x - Windows 任务计划器默认以“无界面”方式运行,如果脚本依赖用户级密钥环(比如某些邮箱 SDK 自动读取系统凭据),会拿不到凭据;建议把账号密码明文存进脚本(用环境变量更安全)或改用配置文件
- 务必在定时任务里重定向日志:
0 9 * * * /usr/bin/python3 /path/to/send.py >> /var/log/mail.log 2>&1,否则失败时连错误都看不到
邮件内容乱码或被当垃圾邮件:编码与头信息怎么设
中文标题变问号、正文缩成一行、刚发出去就被归进“推广”——问题不在 SMTP,而在 MIME 构建环节。
标贝科技
标贝科技-专业AI语音服务的人工智能开放平台
- 别用普通字符串拼接邮件体;必须用
email.mime.text.MIMEText,并显式指定_charset="utf-8",例如:MIMEText("你好", "plain", "utf-8") - 中文主题必须用
email.header.Header编码,否则 Outlook 和 QQ 邮箱直接显示乱码:msg["Subject"] = Header("每日报告", "utf-8") - 缺少
From/To/Date头,或From域名和 SMTP 发信域名不一致(比如用 Gmail SMTP 却填From: me@company.com),极易触发反垃圾规则
密码硬编码太危险:环境变量怎么安全传进定时任务
把密码写死在脚本里,等于把邮箱钥匙贴在门上;但 cron 不自动加载 ~/.bashrc,环境变量传不进去。
- Linux 下推荐在 crontab 文件顶部加
SHELL=/bin/bash和PATH=...,再用source ~/.bashrc; python3 script.py包一层(注意~在 cron 中可能不展开,建议写绝对路径) - 更稳妥的是用
os.getenv("MAIL_PASS")读环境变量,然后在 crontab 里写:MAIL_USER="a@b.com" MAIL_PASS="xxx" python3 /path/to/script.py - Windows 上任务计划器的“添加参数”框不支持环境变量注入,只能改用 PowerShell 封装:
$env:MAIL_PASS="xxx"; python .\script.py
真正麻烦的从来不是发一封邮件,而是让这封邮件在凌晨三点、系统重启后、Python 版本升级时,依然准时出现在收件箱第一行——每个环节都得单独验,不能只靠本地跑通就以为万事大吉。
如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!
猜您喜欢
迷你世界地狱传送门怎么做2026版
2026-07-11迷你世界游戏里面有很多的内容,今天给大家带来了游戏里面的最新地狱传送门制作方法,还有小伙伴不清楚要怎么去制作,那么下面就是相关的内容,来看看吧. 迷你世界最新地狱传送门制作方法 1.在迷你世界,做传送门要准备两个材料,其中之一是地心门框,通过远古宝石、黑晶石、岩石块和岩浆铁桶合成。 2.另外一个材料就是地心传送门块,通过四个地心传送门碎片合成。 3.接着在空白的场地上建一个宽4高5的地心门框,中间...
我的世界怎么做刷怪塔效率高2026年版
2026-07-11我的世界中有很多道具,今天给大家带来的是高效率制作刷怪塔方法,还有很多的小伙伴不清楚要怎么去制作,那么下面就为大家带来了相关的制作方法. 我的世界2026高效率制作刷怪塔方法 在离地面一定高度(一般是128格以上)的地方建造一个刷怪平台,平台的形状可以是回字形、十字形或平台型,平台的面积越大,刷怪效率越高。 一:选址与规划 首先,我们要选择一个远离其他建筑物且相对平坦的区域,这样才能确保怪物不受干...
迷你世界怎么做完整的工匠台2026
2026-07-11迷你世界游戏里面有很多的内容,今天给大家带来了游戏里面的完整的工匠台最新制作方法,还有小伙伴不清楚怎么做完整的工匠台,那么下面就是相关的内容. 迷你世界完整的工匠台最新制作方法 一,首先进入游戏,然后在地面上放置不完整的工匠台 二,接着打开背包,在背包中搜索并选择点击创造晶块 三,点击创造晶块后,使用创造晶块来点击不完整的工匠台,即可升级为完整的工匠台 本文内容来源于互联网,如有侵权请联系删除。
迷你世界刷怪塔怎么做2026
2026-07-09迷你世界里面的刷怪塔是可以让我们来刷取经验的道具之一,今天给大家带来的是刷怪塔的一个制作的方法,还有很多的小伙伴不清楚,那么下面就是具体的内容. 迷你世界刷怪塔最新制作方法 1、刷怪平台(击杀怪物的位置)高度要在100以上,建议120左右,因为在玩家附近96格以内是不会刷新怪物的。 2、用于收集怪物的掉落的收集器。注意漏斗的接口方向,要互相连通并接入箱子。 3、怪物摔落的“井”高度为16格,刚好可...
迷你世界草木灰怎么做
2026-07-09迷你世界游戏里面有很多的材料道具可以去获得,今天给大家带来了游戏里面的草木灰制作方法,还有小伙伴不清楚要怎么去制作,那么下面就是相关的内容. 迷你世界草木灰制作方法 首先要准备一些苔藓球; 然后把苔藓球丢到熔炉里面; 等铁炉把苔藓球烧完即可获得草木灰。 本文内容来源于互联网,如有侵权请联系删除。
我的世界魔法金属模组武器怎么做
2026-07-03我的世界里面有很多的模组,今天给大家带来了游戏里面的魔法金属模组武器合成表大全,还有小伙伴不清楚这个模组的武器怎么合成,下面就是具体的内容. 我的世界魔法金属模组武器合成表大全 魔法指挥号角 合成表: 本文内容来源于互联网,如有侵权请联系删除。
迷你世界床怎么做2026
2026-06-27迷你世界游戏里面有很多的道具可以去制作,今天给大家带来了游戏里面的床制作方法,还有小伙伴不清楚要怎么制作,那么下面就是相关的内容. 迷你世界床制作方法 床通过工具箱合成,合成需要3个羊毛+3块木板(只要是木板都行没有指定树的类型) 本文内容来源于互联网,如有侵权请联系删除。
迷你世界钻石矿镐怎么做
2026-06-27迷你世界游戏里面有很多的道具可以去制作,今天给大家带来了游戏里面的钻石矿镐制作方法,还有小伙伴不清楚要怎么制作,那么下面就是相关的内容. 迷你世界钻石矿镐制作方法 合成需要:钻石X3、小木棍X2 近战伤害+5 采矿工具,速度特别快,可采高级矿 本文内容来源于互联网,如有侵权请联系删除。
迷你世界剪刀怎么做
2026-06-27迷你世界游戏里面有很多的道具材料,今天给大家带来了游戏里面的剪刀制作方法,还有小伙伴不清楚剪刀怎么做,那么下面就是相关的内容. 迷你世界剪刀制作方法 先挖矿获得铁矿,然后用熔炼炉烧成铁锭,然后用工具箱合成剪刀。 本文内容来源于互联网,如有侵权请联系删除。
迷你世界石按钮怎么做
2026-06-27迷你世界游戏里面有很多的道具可以去制作获得,今天给大家带来了游戏里面的石按钮制作方法,还有小伙伴不清楚要怎么去制作,那么下面就是相关的内容. 迷你世界石按钮制作方法 合成需要:石头X1 按下产生1次电石能量信号,恢复时间快 本文内容来源于互联网,如有侵权请联系删除。
