当前位置:论坛首页 > Linux面板 > 求助

【疑难】宝塔邮局调用API出错

发表在 Linux面板2021-12-9 22:05 [复制链接] 3 4751


使用PostMan进行测试发送报错

但是用Python进行测试又可以

————————————————
postman 报错
————————————————
  1. Traceback (most recent call last):<br>
  2.   File "class/flask_sockets.py", line 30, in __call__<br>
  3.     handler, values = adapter.match()<br>
  4.   File "/www/server/panel/pyenv/lib/python3.7/site-packages/werkzeug/routing.py", line 1945, in match<br>
  5.     raise NotFound()<br>
  6. werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.<br>
  7. <br>
  8. During handling of the above exception, another exception occurred:<br>
  9. <br>
  10. Traceback (most recent call last):<br>
  11.   File "/www/server/panel/BTPanel/__init__.py", line 1372, in panel_other<br>
  12.     data = eval('plu.' + fun + '(args)')<br>
  13.   File "<string>", line 1, in <module><br>
  14.   File "/www/server/panel/plugin/mail_sys/mail_sys_main.py", line 1123, in send_mail_http<br>
  15.     mail_from = args.mail_from<br>
  16. AttributeError: 'dict_obj' object has no attribute 'mail_from'<br>
复制代码



python.png
postman.png
使用道具 举报 只看该作者 回复
发表于 2021-12-9 22:50:15 | 显示全部楼层
这个问题 我也没法给你合理的答复,面板使用的是python写的,包括邮局也是,使用别的工具无法调用api的话,暂时就是不兼容了吧
使用道具 举报 回复 支持 反对
发表于 2021-12-10 14:44:05 | 显示全部楼层
大炮运维V587 发表于 2021-12-9 22:50
这个问题 我也没法给你合理的答复,面板使用的是python写的,包括邮局也是,使用别的工具无法调用api的话, ...
  1.         let params = new FormData()
  2.         params.append("mail_from", "自己地址")
  3.         params.append("password", "自己密码")
  4.         params.append("mail_to", "收件人邮箱")
  5.         params.append("subject", "标题")
  6.         params.append("content", "正文")
  7.         params.append("subtype", "")
  8.         axios.post('/email', params, {
  9.             headers: {
  10.                 "Content-Type": "application/x-www-form-urlencoded",
  11.                 "Connection": "close"
  12.             }
  13.         }).then(
  14.             response => {
  15.                 message.success('测试请求完成')
  16.                 console.log(response.data);
  17.             }
  18.         ).catch(error => {
  19.             message.error('服务器请求失败,请查看控制台')
  20.             console.error('系统信息请求失败原因:', error);
  21.         })
复制代码

这一个是我前端React通过反向代理请求的,发送过去的必须是 "Content-Type": "application/x-www-form-urlencoded" 类型
能不能改一下,接受参数也接受JSON类型
使用道具 举报 回复 支持 反对
发表于 2022-2-22 15:24:46 | 显示全部楼层
疑难待验证
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表