J'ai écrit un simple formulaire de contact pour un client dans Django. Cependant, chaque fois qu'il envoie un e-mail, il enveloppe les valeurs d'en-tête dans u '' objets. Par exemple, la tête From: estDjango envoie un e-mail autour des en-têtes
From: (u'[email protected]',)
Voici le code qui envoie le message:
La forme:
class ContactForm(forms.Form):
name = forms.CharField(max_length=100)
sender = forms.EmailField()
subject = forms.CharField(max_length=255)
message = forms.CharField(widget=forms.widgets.Textarea(attrs={'rows':15, 'cols': 72}))
La fonction de contact:
def contact(request):
RECAPTCHA_PRIVATE_KEY = '******************'
captcha_error = ''
if request.method == 'POST':
form = ContactForm(request.POST)
captcha_response = captcha.submit(request.POST.get("recaptcha_challenge_field", None),
request.POST.get("recaptcha_response_field", None),
RECAPTCHA_PRIVATE_KEY,
request.META.get("REMOTE_ADDR", None))
if not captcha_response.is_valid:
captcha_error = "&error=%s" % captcha_response.error_code
elif form.is_valid():
name = form.cleaned_data['name'],
sender = form.cleaned_data['sender'],
subject = form.cleaned_data['subject'],
message = form.cleaned_data['message']
recipients = ['[email protected]']
try:
send_mail(subject, message, sender, recipients)
except BadHeaderError:
pass
flash_message = 'Thank you for contacting us. We will get back to you shortly.'
return render_to_response('pages/contact.html', {
'form': form,
'captcha_error': captcha_error,
'message': flash_message
})
Il envoie l'e-mail parfaitement, je vérifie la boîte aux lettres appropriée et l'e-mail apparaît. Mais ces objets empêchent le sujet de l'e-mail d'apparaître correctement et l'empêche d'y répondre.
Qu'est-ce que je fais mal?
Merci d'avance.
virgules Trailing font ces éléments 'tuples' avec un élément. – MattH
Oh et c'est une erreur facile à faire surtout lors de la refactorisation du code. – MattH
Wow, je n'aurais jamais deviné ça. Merci beaucoup! – mjaz