PythonAnywhere环境下Python脚本无法发送邮件问题求助
解决PythonAnywhere部署邮件脚本无法发送的问题
排查步骤与修复方案
修正邮件收件人格式
脚本中message["To"] = 'XXX'是无效硬编码值,需替换为实际收件人邮箱的字符串形式,用逗号分隔列表中的地址:message["To"] = ", ".join(receiver_email)确保邮件头的收件人信息合规,避免服务器拒收。
检查邮箱认证方式
若你的seznam.cz邮箱开启了两步验证,必须使用应用专用密码替代普通登录密码。登录seznam账号后台,在安全设置中生成应用密码,替换脚本里的password值。验证网络与端口兼容性
PythonAnywhere允许访问外部SMTP服务器,可先在控制台测试端口连通性:telnet smtp.seznam.cz 465若连接失败,尝试使用seznam的备用端口587并启用STARTTLS加密:
with smtplib.SMTP('smtp.seznam.cz', 587) as smtp: smtp.starttls() smtp.login(sender_email, password) # 后续发送逻辑保持不变清理HTML内容中的无效字符
脚本里的html_body末尾存在多余的`your text`,会破坏HTML结构,直接移除该部分:html_body = """<html> <body> <p>Google tabulky s rekordy zde </p> </body> </html> """查看详细错误日志
执行脚本时,除控制台输出外,可查看PythonAnywhere的任务日志(定时任务场景)或控制台完整报错信息,获取认证失败、连接超时等具体问题细节。
内容的提问来源于stack exchange,提问作者Shaolin Master
相关产品推荐
相关产品推荐

