我正在使用来自 django.core.mail 的 电子邮件消息。我正在尝试在要发送的消息中包含标题。但在某些情况下,第一个标题行不会出现在我的消息中。为什么?
在以下情况下,我有一个问题:
from django.shortcuts import render, redirect
from django.core.mail import send_mail, EmailMessage
from django.contrib import messages
from django import forms
from . forms import ContactMessageForm
def contact_form(request):
form = ContactMessageForm(request.POST or None)
context = {'form':form}
if request.method == 'POST':
if form.is_valid():
contact_form = form.save()
contact_form = ContactMessageForm()
first_name = form.cleaned_data["first_name"]
last_name = form.cleaned_data["last_name"]
email = form.cleaned_data["email"]
order_number = form.cleaned_data["order_number"]
subject = form.cleaned_data["subject"]
cc = form.cleaned_data["cc"]
message = form.cleaned_data["message"]
full_name = first_name + " " + last_name
objet = ""
if order_number == None:
objet = subject
else:
objet = subject + ' / ' + order_number
email_msg = EmailMessage(
'[TITLE] : ' + objet,
message,
'foo@foo.fr',
['foo@foo.fr'],
reply_to = [email],
headers = {
"Exp ": 'header 1 value',
"Prenom et Nom ": full_name,
"Objet du message ": str(subject),
"Testing header 4 key": 'header 4 value',
},
)
email_msg.send()
if cc == True:
msg = '''
Bonjour,
Nous avons bien reçu votre email. Nous vous répondrons dans les plus brefs délais.
Voici le message que vous nous avez envoyé. \n \n
'''
msg = msg + message
send_mail(
'[TITLE] : ' + subject + ' / ' + order_number,
msg,
'foo@foo.fr',
[email],
fail_silently=False,
)
messages.success(request, 'Email envoyé')
return redirect('store:home')
else:
return render(request, 'contact/contact-form.html', context)
else:
return render(request, 'contact/contact-form.html', context)
标题的第一行不显示。 “Exp”,它是键,“header 1 value”,它是值没有出现......标题的其余部分显示正确。
在以下情况下,一切正常。
from django.shortcuts import render, redirect
from django.core.mail import send_mail, EmailMessage
from django.contrib import messages
from django import forms
from . forms import ContactMessageForm
def contact_form(request):
form = ContactMessageForm(request.POST or None)
context = {'form':form}
if request.method == 'POST':
if form.is_valid():
contact_form = form.save()
contact_form = ContactMessageForm()
first_name = form.cleaned_data["first_name"]
last_name = form.cleaned_data["last_name"]
email = form.cleaned_data["email"]
order_number = form.cleaned_data["order_number"]
subject = form.cleaned_data["subject"]
cc = form.cleaned_data["cc"]
message = form.cleaned_data["message"]
full_name = first_name + " " + last_name
objet = ""
if order_number == None:
objet = subject
else:
objet = subject + ' / ' + order_number
email_msg = EmailMessage(
'[TITLE] : ' + objet,
message,
'foo@foo.fr',
['foo@foo.fr'],
reply_to = [email],
headers = {
"header 1 key ": 'header 1 value',
"Prenom et Nom ": full_name,
"Objet du message ": str(subject),
"header 4 key": 'header 4 value',
},
)
email_msg.send()
if cc == True:
msg = '''
Bonjour,
Nous avons bien reçu votre email. Nous vous répondrons dans les plus brefs délais.
Voici le message que vous nous avez envoyé. \n \n
'''
msg = msg + message
send_mail(
'[TITLE] : ' + subject + ' / ' + order_number,
msg,
'foo@foo.fr',
[email],
fail_silently=False,
)
messages.success(request, 'Email envoyé')
return redirect('store:home')
else:
return render(request, 'contact/contact-form.html', context)
else:
return render(request, 'contact/contact-form.html', context)
header 1 key 和 header 1 value 确实出现在消息中,作为标题的其他键和值。
有关信息,出于隐私问题,我已将我的电子邮件地址替换为 foo@foo.fr。但我确认我已通过我的实际电子邮件地址收到邮件。