[英]Django. Getting "ConnectionRefusedError: [Errno 111" when trying to send an email
我正在嘗試使用django.core.mail.send_email()
發送 email 並不斷收到ConnectionRefusedError: [Errno 111] Connection refused
denied 並帶有以下回溯:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/EmilKadermetov/.virtualenvs/myvirtualenv/lib/python3.8/site-packages/django/core/mail/__init__.py", line 61, in send_mail
return mail.send()
File "/home/EmilKadermetov/.virtualenvs/myvirtualenv/lib/python3.8/site-packages/django/core/mail/message.py", line 284, in send
return self.get_connection(fail_silently).send_messages([self])
File "/home/EmilKadermetov/.virtualenvs/myvirtualenv/lib/python3.8/site-packages/django/core/mail/backends/smtp.py", line 102, in send_messages
new_conn_created = self.open()
File "/home/EmilKadermetov/.virtualenvs/myvirtualenv/lib/python3.8/site-packages/django/core/mail/backends/smtp.py", line 62, in open
self.connection = self.connection_class(self.host, self.port, **connection_params)
File "/usr/lib/python3.8/smtplib.py", line 253, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python3.8/smtplib.py", line 339, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python3.8/smtplib.py", line 308, in _get_socket
return socket.create_connection((host, port), timeout,
File "/usr/lib/python3.8/socket.py", line 807, in create_connection
raise err
File "/usr/lib/python3.8/socket.py", line 796, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
settings.py
中的 SMTP 配置:EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOSTS = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'my_email@gmail.com'
EMAIL_HOST_PASSWORD = 'my_passwod'
我的谷歌帳戶中的“安全性較低的應用程序訪問”已打開。
我可以通過同一台機器上的 telnet 成功連接到smtp.gmail.com
。
使用另一個 smtp 主機沒有任何改變。
Django3.1.6 | Python 3.8.5 | Linux 完好 20.1
它只是settings.py
文件行中的一個錯字,該行指定ZC2239A92BDE29F0A9F9173193193CCC2FE00Z主持人: EMAIL_HOSTS = 'smtp.gmail.com'
EMAIL_HOST = 'smtp.gmail.com'
所以 Django 使用了默認的EMAIL_HOST
參數 - localhost
並且連接失敗。 感謝評論中試圖幫助我的人。
它幫助我添加了settingd.py:
RECIPIENTS_EMAIL = ['manager@mysite.com'] # замените на свою почту
DEFAULT_FROM_EMAIL = 'admin@mysite.com' # замените на свою почту
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.