如何修复 django 发送电子邮件时超时错误

问题描述 投票:0回答:1

我正在尝试制作一个简单的 django 应用程序,向用户发送电子邮件,但每次我尝试运行该程序时,都会收到错误 '/automail2/success 处出现超时错误 [WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应而建立的连接失败'

这是在提交电子邮件地址后加载几秒钟后发生的。这是代码的 github 链接

https://github.com/Taterbro/automail

我对编码和 stackoverflow 社区相当陌生,因此我们将不胜感激。

尝试使用 django 发送电子邮件 期望代码发送电子邮件 尝试发送电子邮件时代码超时

django backend session-timeout django-email django-errors
1个回答
0
投票

修复超时错误

正如我在评论中指出的,您的超时错误是由于 HTML 模板使用了错误的

action
字符串而引起的。你不能使用 url 路径的名称作为
action
,你需要让 Django 在渲染页面时生成它:

<!-- index.html -->

<!-- change -->
<form action='success' method="post">

<!-- to -->
<form action='{% url "success" %}' method="post">

修复连接拒绝错误

这里的问题不在于您的 views.py 代码或模板,而在于您在 settings.py 中使用的设置以及您设置电子邮件的方式。

我已经尝试过你的代码,它工作正常,但你需要更改你的gmail设置,并将这些设置用于你的settings.py。如本answer中所述,如果您想在 Django 中使用 gmail 发送电子邮件,则必须生成 app 密码这里是有关如何执行此操作的教程。

如何在 Stack Overflow 上发布问题

要回答您的其他评论问题,您应该发布 code,而不是代码图像,或者在您的情况下发布 GitHub 链接。这是一个链接,解释了为什么,还解释了如何发布代码。在您的具体情况下,如果您编辑问题以包含相关的 views.pyurls.pysettings.pyindex.html 模板文件,将会很有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.