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

Python调用Mailgun接口出现500内部服务器错误求助

问题描述

正在学习Python和VS Code,处于培训阶段。参照Mailgun文档编写了发送邮件的脚本app.py,代码如下:

def send_simple_message():
    return requests.post(
        "https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages",
        auth=("api", "YOUR_API_KEY"),
        data={"from": "Excited User <mailgun@YOUR_DOMAIN_NAME>",
              "to": ["bar@example.com", "YOU@YOUR_DOMAIN_NAME"],
              "subject": "Hello",
              "text": "Testing some Mailgun awesomness!"})

在VS Code终端通过以下命令运行脚本:

Python app.py

使用Postman测试时,邮件实际发送成功,但Postman返回500内部服务器错误,错误内容如下:

<!doctype html>
<html lang=en>
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request.     
Either the server is overloaded or there is an error in the application.</p>

目前仍在熟悉VS Code的使用,觉得有一定学习难度。

排查建议
  • 检查脚本执行逻辑:当前send_simple_message函数仅定义未调用,直接运行app.py不会执行任何操作。如果这是接口服务的一部分,需确认是否存在未捕获的异常:
    • 未导入requests模块就直接使用
    • 未替换代码中的占位符(YOUR_DOMAIN_NAME、YOUR_API_KEY)为实际有效值
  • 验证Postman请求配置:确认请求地址、HTTP方法与服务端路由完全匹配,请求参数、头信息格式正确,避免因请求不规范触发服务端内部错误
  • 查看服务端运行日志:在VS Code终端运行脚本时,留意是否有报错输出(如模块缺失、权限问题等)。如果使用Flask/Django等框架,开启调试模式可查看详细错误堆栈,定位具体出错点
  • 处理Mailgun API响应:即使邮件发送成功,API可能返回非200状态码,若服务端未正确处理该响应会抛出异常导致500错误。可在函数中添加打印语句,输出requests.post的返回内容,查看具体响应状态和详情:
    def send_simple_message():
        response = requests.post(...)
        print(response.status_code, response.text)
        return response
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 09:12:44