Конфигурация Django SMTP для отправки электронной почты
Я уже настроил электронную почту. Он работал отлично, но через некоторое время он не работает и не отправляет почту. Я не знаю, где возникла проблема. Может ли кто-нибудь помочь мне с этим?
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'myemail'
EMAIL_HOST_PASSWORD = 'mypass'
вот мой код функции электронной почты:
def my_email():
order = Order.objects.filter(createdAt__gt=Now()-timedelta(minutes=1))
p = str(settings.BASE_DIR)
with open(p + '/templates/email.html') as f:
order_message = f.read()
for o in order:
print(o._id)
email = EmailMultiAlternatives(subject='Thank you', body=order_message, from_email='laksura.com.bd@gmail.com', to=['sohanur.shanto@northsouth.edu'] )
html_template = get_template('email.html').render()
html_template = render_to_string('email.html', {'name': o.user, 'order_id': o._id, 'total': o.totalPrice, 'created': o.createdAt})
email.attach_alternative(html_template, "text/html")
email.send()
Я получаю эту ошибку
new_conn_created = self.open()
File "C:\Python39\lib\site-packages\django\core\mail\backends\smtp.py", line 62, in open
self.connection = self.connection_class(self.host, self.port, **connection_params)
File "C:\Python39\lib\smtplib.py", line 255, in __init__
(code, msg) = self.connect(host, port)
File "C:\Python39\lib\smtplib.py", line 341, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "C:\Python39\lib\smtplib.py", line 312, in _get_socket
return socket.create_connection((host, port), timeout,
File "C:\Python39\lib\socket.py", line 843, in create_connection
raise err
File "C:\Python39\lib\socket.py", line 831, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
По умолчанию Gmail блокирует использование Gmail менее безопасными приложениями. Вам придется изменить эту настройку, если вы хотите использовать Django-mail.
Если вы не измените этот параметр, Gmail не позволит вашей учетной записи отправлять почту через веб-приложение Django.