我正在尝试制作一个简单的 django 应用程序,向用户发送电子邮件,但每次我尝试运行该程序时,都会收到错误 '/automail2/success 处出现超时错误 [WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应而建立的连接失败'
这是在提交电子邮件地址后加载几秒钟后发生的。这是代码的 github 链接
https://github.com/Taterbro/automail
我对编码和 stackoverflow 社区相当陌生,因此我们将不胜感激。
尝试使用 django 发送电子邮件 期望代码发送电子邮件 尝试发送电子邮件时代码超时
修复超时错误
正如我在评论中指出的,您的超时错误是由于 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.py、urls.py、settings.py 和 index.html 模板文件,将会很有帮助。