smtplib.SMTPServerDisconnected: 连接意外关闭

smtplib.SMTPServerDisconnected: Connection unexpectedly closed

我正在尝试使用 django.core.mail send_mail

在终端上执行以下代码
send_mail('some title','some text','myemail@gmail.com',['otheremail@gmail.com'])

但执行后控制台显示此错误

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/adjtlikp/virtualenv/globalit-web/3.7/lib/python3.7/site-packages/django/core/mail/__init__.py", line 61, in send_mail
    return mail.send()
  File "/home/adjtlikp/virtualenv/globalit-web/3.7/lib/python3.7/site-packages/django/core/mail/message.py", line 284, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/home/adjtlikp/virtualenv/globalit-web/3.7/lib/python3.7/site-packages/django/core/mail/backends/smtp.py", line 102, in send_messages
    new_conn_created = self.open()
  File "/home/adjtlikp/virtualenv/globalit-web/3.7/lib/python3.7/site-packages/django/core/mail/backends/smtp.py", line 62, in open
    self.connection = self.connection_class(self.host, self.port, **connection_params)
  File "/opt/alt/python37/lib64/python3.7/smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "/opt/alt/python37/lib64/python3.7/smtplib.py", line 338, in connect
    (code, msg) = self.getreply()
  File "/opt/alt/python37/lib64/python3.7/smtplib.py", line 394, in getreply
    raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed

我的settings.py

EMAIL_USE_TLS = True  
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'   
EMAIL_HOST = 'smtp.gmail.com'  
EMAIL_HOST_PASSWORD = 'mypass'  
EMAIL_HOST_USER = 'myemail@gmail.com'   
EMAIL_PORT = 465 
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

我尝试更改 EMAIL_PORT 和 EMAIL_HOST 但没有任何改变有趣的是在本地主机中代码工作完美但是当我使用主机时出现错误

显示错误是因为我为 EMAIL_USE_TLS 输入了错误的端口,因为 TLS,端口应该是 25 或 587,因为 SSL,端口应该是 465

我有同样的情况。我的设置是:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'apikey'
EMAIL_HOST_PASSWORD = config('PASS')

我在 SendGrid 上也有一封 已验证 的电子邮件。我收到此错误的原因是因为我没有使用我在 SendGrid 上验证过的电子邮件。如果您使用其他电子邮件地址从您的网站发送电子邮件,您可能还会收到以下错误:

(550, b'The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved. Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements')

简而言之,仅使用您在 SendGrid 上验证过的 一个 现有电子邮件,然后如果代码有效,请检查您使用的电子邮件的 inbox/spam。