Django 发送邮件可以在本地主机上工作,但不能在服务器上工作

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

我最近开始学习 Django,我编写了一个代码来在“联系我们”页面发送电子邮件,它在我的本地主机中运行良好,但是当我将其上传到服务器时,它给出了此错误:

SMTPServerDisconnected at /contact
Connection unexpectedly closed

这是我的settings.py代码:

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'app passwords'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

这是我的观点.py

send_mail('title', 'message', userEmail, [settings.EMAIL_HOST_USER], fail_silently=False,)

我与主机服务器的支持小组联系以检查端口,但他们说没关系,所以我不知道我是否遗漏了某些东西。

python-3.x django web django-views localhost
1个回答
0
投票

以下是诊断问题的一些建议:

  1. 端口 587 可能被阻止或 TLS 可能无法工作。您还可以测试 SSL。

  2. 测试端口

    465
    而不是
    587
    ,均使用 TLS 和 SSL。

  3. 要检查阻塞情况,请使用

    telnet
    netcat
    openssl
    等工具来验证端口的可访问性。

使用变量

EMAIL_USE_SSL=True
EMAIL_USE_TLS=True
在 settings.py 中配置 TLS 或 SSL。

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