Mailgun 电子邮件发件人不是它应该的样子

Mailgun Email sender isn't what its supposed to be

所以我刚刚用 mailgun 设置了 django 电子邮件,并发送了第一封电子邮件。这是我在 Django 中的配置:

EMAIL_BACKEND = config('EMAIL_BACKEND', default='django.core.mail.backends.smtp.EmailBackend')
EMAIL_HOST = config('EMAIL_HOST', default='')
EMAIL_PORT = config('EMAIL_PORT', default=587, cast=int)
EMAIL_HOST_USER = 'postmaster@mg.smartsurvey.xyz'
EMAIL_HOST_PASSWORD = config('EMAIL_HOST_PASSWORD', default='')
EMAIL_USE_TLS = config('EMAIL_USE_TLS', default=True, cast=bool)

DEFAULT_FROM_EMAIL = 'SmartSurvey <noreply@smartsurvey.xyz>'

这是发送邮件的视图:

current_site = get_current_site(request)
subject = 'Activate your SmartSurvey account'
message = render_to_string('email/email_activation.html', {
    'name': user.get_full_name(),
    'domain': current_site.domain,
    'uid': urlsafe_base64_encode(force_bytes(user.pk)),
    'token': account_activation_token.make_token(user),
    })
user.email_user(subject, message)

我希望发件人是 SmartSurvey <noreply@smartsurvey.xyz>,但它目前发送的方式如下:noreply=smartsurvey.xyz@mg.smartsurvey.xyz on behalf of SmartSurvey <noreply@smartsurvey.xyz>

我该如何解决这个问题?

只要您在 From: 字段中输入的域与您在 Mailgun 中使用的域不匹配,就会发生这种情况。确保这些对齐以防止 "on behalf of" 符号。