Python Django电子邮件:客户端没有作为此发件人发送的权限

Python Django电子邮件:客户端没有作为此发件人发送的权限,python,django,office365,smtplib,Python,Django,Office365,Smtplib,我可以使用本SO答案中提供的功能通过smtplib发送电子邮件: 但是,当我尝试通过django发送电子邮件时,我收到以下错误: 设置.py # Email EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = True EMAIL_HOST = 'smtp.office365.com' EMAIL_PORT = 587 EMAIL_HOST_USER = 'my@email.com' EMAI

我可以使用本SO答案中提供的功能通过smtplib发送电子邮件:

但是,当我尝试通过django发送电子邮件时,我收到以下错误:

设置.py

# Email
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.office365.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'my@email.com'
EMAIL_HOST_PASSWORD = 'password'
命令行

$python manage.py sendtestemail-v3my@email.com

回溯(最近一次呼叫最后一次):

文件“manage.py”,第22行,从命令行执行(sys.argv)

文件“C:\Program Files\Anaconda2\envs\django_env\lib\site packages\django\core\management__init__.py”,第363行,在execute_from_command_line utility.execute()中

文件“C:\Program Files\Anaconda2\envs\django_env\lib\site packages\django\core\management__init__.py”,第355行,在执行self.fetch_命令(子命令)中。从_argv(self.argv)运行_

文件“C:\Program Files\Anaconda2\envs\django\u env\lib\site packages\django\core\management\base.py”,第283行,从_argv self.execute运行(*args,**cmd\u选项)

文件“C:\Program Files\Anaconda2\envs\django\u env\lib\site packages\django\core\management\base.py”,第330行,在execute output=self.handle(*args,**选项)中

文件“C:\Program Files\Anaconda2\envs\django\u env\lib\site packages\django\core\management\commands\sendtestemail.py”,第33行,在句柄收件人列表=kwargs['email']中

文件“C:\Program Files\Anaconda2\envs\django_env\lib\site packages\django\core\mail__init__.py”,第62行,在send\u mail return mail.send()中

文件“C:\Program Files\Anaconda2\envs\django\u env\lib\site packages\django\core\mail\message.py”,第348行,在发送返回self.get\u连接中(无提示失败)。发送消息([self])

文件“C:\Program Files\Anaconda2\envs\django\u env\lib\site packages\django\core\mail\backends\smtp.py”,第111行,在send\u messages sent=self.\u send(message)中

文件“C:\Program Files\Anaconda2\envs\django\u env\lib\site packages\django\core\mail\backends\smtp.py”,第127行,在发送self.connection.sendmail中(从电子邮件,收件人,邮件.as字节(linesep='\r\n'))

文件“C:\Program Files\Anaconda2\envs\django_env\lib\smtplib.py”,第887行,在sendmail中引发SMTPDataError(代码,resp)

smtplib.SMTPDataError:(550,b'5.7.60 SMTP;客户端没有作为此发件人发送的权限[CY1PR0501MB1116.namprd05.prod.outlook.com])


我是否在django中配置错误?

解决方案是将默认\u从\u EMAIL服务器\u EMAIL添加到settings.py:

# Email
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.office365.com'
EMAIL_HOST_USER = '****@*******.com'
EMAIL_HOST_PASSWORD = '**********'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = '****@*******.com'
SERVER_EMAIL = '****@*******.com'

非常感谢您的宝贵意见

解决方案是将默认\u从\u EMAIL服务器\u EMAIL添加到settings.py:

# Email
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.office365.com'
EMAIL_HOST_USER = '****@*******.com'
EMAIL_HOST_PASSWORD = '**********'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = '****@*******.com'
SERVER_EMAIL = '****@*******.com'

非常感谢您的宝贵意见

错误消息是明确的。尝试使用真实的发件人/收件人地址。我刚刚将我的实际电子邮件地址替换为此帖子的虚拟地址。提示:(1)使用“-v”选项(详细)将添加有价值的信息。Try:python manage.py sendtestemail-v3my@email.com(2)尝试控制台后端并查看构建的邮件正文+标题:(3)尝试使用调试服务器,该服务器由Python或(我最喜欢的)Mailcatcher提供。我用详细的错误消息更新了原始帖子。我还尝试在settings.py中设置EMAIL_BACKEND='django.core.mail.backends.console.EmailBackend',成功了。好吧,我想我明白了。使用控制台后端时,邮件中显示的“发件人”标题是什么?从小时
EMAIL\u HOST
smtp服务器知道此邮件地址吗?错误消息是明确的。尝试使用真实的发件人/收件人地址。我刚刚将我的实际电子邮件地址替换为此帖子的虚拟地址。提示:(1)使用“-v”选项(详细)将添加有价值的信息。Try:python manage.py sendtestemail-v3my@email.com(2)尝试控制台后端并查看构建的邮件正文+标题:(3)尝试使用调试服务器,该服务器由Python或(我最喜欢的)Mailcatcher提供。我用详细的错误消息更新了原始帖子。我还尝试在settings.py中设置EMAIL_BACKEND='django.core.mail.backends.console.EmailBackend',成功了。好吧,我想我明白了。使用控制台后端时,邮件中显示的“发件人”标题是什么?从小时
EMAIL\u HOST
smtp服务器知道这个邮件地址吗?这就是我想开车送你去的地方;)这就是我想开车送你去的地方;)