'from_email' 不显示 'send_mail' smtp
'from_email' not showing with 'send_mail' smtp
我已经用 gmail 设置了 smtp。当我使用 send_mail 时,发件人电子邮件未显示在接收电子邮件的帐户中。
Django settings.py
# DEFAULT_FROM_EMAIL = 'sendTo@gmail.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'sendTo@gmail.com'
EMAIL_HOST_PASSWORD = '**********'
EMAIL_USE_TLS = True
使用
$ python manage.py shell
我发邮件如下,
>>> from django.core.mail import send_mail
>>> send_mail('subject is', 'message is and is not 12342', 'fromEmail@gmail.com', ['sendTo@gmail.com'])
1
>>>
我在我的 gmail 帐户(与用于 smtp 的 gmail 帐户相同)中收到这封电子邮件,但发件人电子邮件显示为 sendTo@gmail.com,应该是 fromEmail@gmail.com
当您通过 google 的 SMTP 服务器发送电子邮件时,您无法更改发件人电子邮件字段。它使用您提供的相同地址进行身份验证。
如果您想要更改它,您必须使用您自己的邮件服务器或众多可用的邮件服务器之一 apis/servers。想到 Sendgrid、MailGun 等。
我使用这个视图解决了问题:
def contact(request):
form = ContactForm(data=request.POST or None)
if form.is_valid():
subject = form.cleaned_data['sujet']
message = form.cleaned_data['message']
sender = form.cleaned_data['envoyeur']
msg_mail = str(message) + " " + str(sender)
send_mail(sujet, msg_mail, sender, ['corbin.julien@gmail.com'], fail_silently=False)
return render(request, 'blog/contact.html', locals())
我实际上将发件人的电子邮件附加到邮件中。您甚至可以从 send_mail 中删除发件人参数。您只需将 EmailField 设置为必填项,以确保您将获得发件人的电子邮件地址。
我已经用 gmail 设置了 smtp。当我使用 send_mail 时,发件人电子邮件未显示在接收电子邮件的帐户中。
Django settings.py
# DEFAULT_FROM_EMAIL = 'sendTo@gmail.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'sendTo@gmail.com'
EMAIL_HOST_PASSWORD = '**********'
EMAIL_USE_TLS = True
使用
$ python manage.py shell
我发邮件如下,
>>> from django.core.mail import send_mail
>>> send_mail('subject is', 'message is and is not 12342', 'fromEmail@gmail.com', ['sendTo@gmail.com'])
1
>>>
我在我的 gmail 帐户(与用于 smtp 的 gmail 帐户相同)中收到这封电子邮件,但发件人电子邮件显示为 sendTo@gmail.com,应该是 fromEmail@gmail.com
当您通过 google 的 SMTP 服务器发送电子邮件时,您无法更改发件人电子邮件字段。它使用您提供的相同地址进行身份验证。
如果您想要更改它,您必须使用您自己的邮件服务器或众多可用的邮件服务器之一 apis/servers。想到 Sendgrid、MailGun 等。
我使用这个视图解决了问题:
def contact(request):
form = ContactForm(data=request.POST or None)
if form.is_valid():
subject = form.cleaned_data['sujet']
message = form.cleaned_data['message']
sender = form.cleaned_data['envoyeur']
msg_mail = str(message) + " " + str(sender)
send_mail(sujet, msg_mail, sender, ['corbin.julien@gmail.com'], fail_silently=False)
return render(request, 'blog/contact.html', locals())
我实际上将发件人的电子邮件附加到邮件中。您甚至可以从 send_mail 中删除发件人参数。您只需将 EmailField 设置为必填项,以确保您将获得发件人的电子邮件地址。