我跟随this书并且在第18章中,当前任务的一部分涉及通过Django发送电子邮件。我有一个用于测试的年度域名,而不是每月额外支付5美元,我认为我只是使用these说明将电子邮件转发到现有地址。
然后我继续进行设置,以便通过Sending mail from your forwarded email address section
使用别名发送邮件但是,我无法使用生成的应用密码+别名来使用它。当我尝试从页面发送电子邮件时,它仅在2FA被禁用且我使用我的实际gmail凭据时才有效,例如:
EMAIL_HOST_USER = 'bob@gmail.com'
EMAIL_HOST_PASSWORD = 'bobswife123'
按预期工作。但是,假设我想使用我生成的应用密码和别名,例如:
EMAIL_HOST_USER = 'alias@bob.com'
EMAIL_HOST_PASSWORD = 'bobsmistress123'
然后我会收到以下错误:
无法在上面的屏幕截图中使用URL中的支持文章,但这里是为了方便起见:
https://support.google.com/mail/?p=BadCredentials
无论如何,这些是我采取的确切步骤:
从macOS 10.13.1上的终端,我从终端运行python manage.py runserver
,然后在Google Chrome中输入http://localhost:8000/
。页面显示正确。我点击进入并尝试发送电子邮件。接下来,它可以工作,或者我得到上面显示的屏幕截图。这是追溯的一个重要部分:
其他可能相关的设置:
EMAIL_HOST = 'smtp.gmail.com
EMAIL_PORT = 465
EMAIL_USE_SSL = True
非常感谢任何帮助!
我已经尝试了潜在复制件中接受的答案说明。再一次,我可以使用我的普通Gmail凭据来实现此功能 - 但我不想透露我的个人电子邮件地址,这就是我使用these说明设置别名的原因。这个应该允许我代表别名域(我拥有)发送电子邮件
答案 0 :(得分:1)
我遇到了相同的问题:我通过使用不同的email addresses
登录和sendmail
来工作(即使用gmail帐户和应用密码登录,然后在sendmail中将转发的电子邮件指定为发件人)。
例如:
smtpObj.login('bob@gmail.com', 'bobsmistress123')
smtpObj.sendmail('alias@bob.com', receiver, emailString)