首页 > 解决方案 > 尝试在 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})

标签: djangoemail

解决方案


这很可能来自您的电子邮件提供商的问题。您的代码是否可以使用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


推荐阅读