通过Django中的Outlook共享邮箱发送电子邮件

时间:2019-03-30 12:51:16

标签: django email 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中实现?

2 个答案:

答案 0 :(得分:0)

邮箱必须分配有许可证才能发送电子邮件。通过SMTP发送时,必须指定共享邮箱的凭据,而不是有权访问委托的其他用户的凭据。

答案 1 :(得分:0)

已解决:

发布的问题中的所有电子邮件设置均保持不变。将共享邮箱的电子邮件地址添加到设置文件中的新变量中:

FROM_EMAIL = "noreply@company.com"

并使用新设置更新send_mail方法中的'from_email'参数

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

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