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" 符号。
所以我刚刚用 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" 符号。