django - 尝试在 django 中发送电子邮件时出现超时错误
问题描述
Hello i am getting TimeoutError while trying to send mail through django .
错误显示为:连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应
def mail_send_view(request, id):
subject = 'Subject'
message = 'message'
send_mail(subject, message, 'kumar943954@gmail.com',
['aditya9090400@gmail.com'],fail_silently=False)
return render(request, 'blog/sharebymail.html', {'form': form, 'post': post, 'sent': sent})
解决方案
这很可能来自您的电子邮件提供商的问题。您的代码是否可以使用email/#console-backend在您的机器上运行?
打开settings.py
,设置EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
并尝试使用您的代码发送电子邮件。如果电子邮件显示在控制台上,这是您的提供商的问题,也是您的托管平台的问题。
大多数托管平台不提供默认 smtp 值,然后您需要找到一个并使用smtp-backend正确设置您的环境:
host: EMAIL_HOST
port: EMAIL_PORT
username: EMAIL_HOST_USER
password: EMAIL_HOST_PASSWORD
use_tls: EMAIL_USE_TLS
use_ssl: EMAIL_USE_SSL
timeout: EMAIL_TIMEOUT
ssl_keyfile: EMAIL_SSL_KEYFILE
ssl_certfile: EMAIL_SSL_CERTFILE
推荐阅读
- android - 如何为 Linux 和/或 Mac OS X 安装具有 CLI 支持的 Android Studio 和 SDK?
- python - 操作 os.path
- python - python string.split() 和循环
- python - 如何在循环中计时代码的执行?
- macos - 如何在 Windows 上使用 VS 创建 MacOS 控制台应用程序
- pandas - pandas 1.0 用 NAN 替换一个字符串 dtype 列
- docker - 每次请求都拒绝 DigitalOcean 液滴连接
- html - 如何拉伸 YouTube 嵌入视频?
- vue.js - 在 Vue.js 中导入文本
- tensorflow - 无法使用 Tensorflow.js predict() 函数