如何在Django Allauth发送的邮件中修改发件人显示名称?
如何在Django Allauth发送的邮件中修改发件人显示名称?
我之前也碰到过类似的问题,你刚才踩的坑其实是把SMTP认证用的账号和邮件的显示发件人搞混啦!
EMAIL_HOST_USER是用来给SMTP服务器做身份验证的,它必须是纯邮箱地址,不能附带显示名称,否则服务器会识别失败,直接导致SMTP连接崩溃。正确的做法是分开配置这两个参数:
- 保持
EMAIL_HOST_USER为纯邮箱地址:EMAIL_HOST_USER = 'support@example.com' - 在
DEFAULT_FROM_EMAIL里设置带显示名称的完整发件人格式,直接用引号包裹即可,不用额外转义字符:DEFAULT_FROM_EMAIL = "Khaled from XYZ <support@example.com>"
另外,因为你用的是Django Allauth,它有专属的邮件发件人配置项ACCOUNT_EMAIL_FROM,如果你的项目里设置了这个参数,记得也要改成同样的格式——Allauth会优先使用这个配置来发送验证邮件:
ACCOUNT_EMAIL_FROM = "Khaled from XYZ <support@example.com>"
这样配置后,用户收到的邮件里发件人就会显示成「Khaled from XYZ」,实际发件邮箱还是support@example.com,既不会影响SMTP认证,又能达到你想要的显示效果。
备注:内容来源于stack exchange,提问作者Khaled Abdulazim
相关产品推荐
相关产品推荐

