#django #smtp
#django #smtp
Вопрос:
Мне нужно использовать SMTP-почтовый сервер Google, чтобы мой сервер отправлял электронные письма x получателям. Но почта никогда не доходит до предполагаемого получателя. Я активировал незащищенные приложения в своей учетной записи gmail и настроил следующее:
В Gmail я перехожу в раздел «Управление учетной записью GMAIL» -> «Безопасность» и активирую 2-шаговую проверку. Затем в разделе «Управление учетной записью GMAIL» -> «Безопасность» -> «Пароль приложения» при выборе приложения я выбираю «Другое (пользовательское имя)» и добавляю имя для приложения, и оно генерирует пароль из 16-значных символов.
Теперь код Django выглядит следующим образом:
from django.conf import settings
from django.core.mail import EmailMultiAlternatives
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'xxxxxxxxx@gmail.com'
EMAIL_HOST_PASSWORD = 'xxxx xxxx xxxx xxxx' #contrasena de 16 digitos
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'default from email'
def send_user_mail(randomNumber):
subject = 'Titulo del correo'
message = EmailMultiAlternatives(subject, #Titulo
"Su número es: " str(randomNumber),
'xxxxx@gmail.com', #Remitente
to=['xxxx@gmail.com']) #Destinatario
message.send()
в settings.py Я добавил:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
Я что-то забыл или делаю что-то не так? Заранее спасибо.
Комментарии:
1. Почта никому не будет отправлена. Он будет печататься в консоли, поскольку вы используете
console.EmailBackend
. Измените его наsmtp.EmailBackend
или обратитесь к этому docs.djangoproject.com/en/3.1/topics/email и решите, что использовать. Также вам необходимо включить опцию Разрешить менее безопасные приложения в вашем gmail.2. Спасибо. Это помогает мне