You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用SMTP发信部署到PythonAnywhere后报错如何排查?

报错修复方案

1. 修复FileNotFoundError路径错误

你本地运行使用的是Windows系统,路径分隔符为反斜杠\,而PythonAnywhere运行环境为Linux系统,路径分隔符为正斜杠/,硬编码的letter_templates\\letter_3.txt路径在Linux环境下无法被识别。
修复方案:

  • 优先使用Python内置跨平台路径处理工具,避免硬编码分隔符:
    方法一:使用os.path模块
    import os
    # 自动适配当前系统的路径分隔符
    file_path = os.path.join("letter_templates", "letter_3.txt")
    
    方法二:使用pathlib模块(Python 3.4+支持)
    from pathlib import Path
    file_path = Path("letter_templates") / "letter_3.txt"
    
  • 确认你已将letter_templates文件夹及内部所有文件完整上传到PythonAnywhere中main.py所在的同级目录。

2. 修复SMTP网络不可达错误

PythonAnywhere免费账户的出站网络连接有严格限制,仅允许访问平台官方白名单内的站点,默认禁止直接连接外部SMTP服务器,所以会触发网络不可达报错。
修复方案:

  • 方案一:升级为PythonAnywhere付费账户,解除出站网络连接限制,即可正常连接Outlook SMTP服务器发信。
  • 方案二:更换发信方案,使用平台白名单内的邮件服务API发信,比如SendGrid的公开API在白名单范围内,你可以将SMTP发信逻辑替换为调用SendGrid API实现发信需求。
  • 若你已是付费账户,请确认账户出站权限已正常开启,也可联系平台客服排查网络规则限制。

内容的提问来源于stack exchange,提问作者Raja Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:21:00