Отправка электронной почты через общий почтовый ящик Outlook в Django

#django #email #office365

#django #Адрес электронной почты #office365

Вопрос:

В настоящее время я использую свой лицензионный адрес электронной почты Outlook для отправки электронных писем в django, используя приведенные ниже настройки

 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = smtp.outlook.office365.com
EMAIL_PORT = 587
EMAIL_HOST_USER  = 'xyz@company.com'
EMAIL_HOST_PASSWORD = 'Password'
  

Недавно мы настроили новый общий почтовый ящик ‘noreply@company.com ‘ чтобы заменить его на мой адрес электронной почты, но возникли проблемы с отправкой электронных писем, поскольку он не принимает учетные данные (т. Е. пароль) и выдает исключение SMTPAuthenticationError.

Возможно ли отправлять электронные письма с использованием общего почтового ящика через smtp-сервер? Если да, то как я могу добиться этого в Django?

Ответ №1:

Решено:

Все настройки электронной почты в опубликованном вопросе остаются прежними. Добавлен адрес электронной почты общего почтового ящика в новую переменную в файле настроек:

 FROM_EMAIL = "noreply@company.com"
  

и обновил аргумент ‘from_email’ в методе send_mail новым параметром

 from django.core.mail import send_mail
from django.conf import settings

send_mail('Subject', 'Message', settings.FROM_EMAIL, ["abc@company.com"])
  

Ответ №2:

Для отправки электронных писем почтовому ящику должна быть выделена лицензия. При отправке через SMTP необходимо указывать учетные данные общего почтового ящика, а не учетные данные какого-либо другого пользователя, которому делегирован доступ к нему.

Комментарии:

1. Насколько я знаю, у общего почтового ящика нет лицензии, привязанной к ним. Итак, это означает, что невозможно отправлять электронные письма с использованием общего почтового ящика?

2. Это правильно. Он может получать сообщения, но не отправлять их, пока не будет выделена лицензия.