Django отправляет электронную почту вокруг заголовков - PullRequest
1 голос
/ 01 марта 2010

Я написал простую контактную форму для клиента в Джанго. Однако всякий раз, когда он отправляет электронную почту, он упаковывает значения заголовка в объекты u ''. Например, заголовок From:

From: (u'my@email.com',)

Вот код, который отправляет сообщение:

Форма:

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}))

Функция контакта:

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@email.com']
      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
      })

Отлично отправляет электронное письмо, проверяю соответствующий почтовый ящик и появляется электронное письмо Но эти объекты u '' не позволяют правильно отображать тему письма и не дают ответа на него.

Что я делаю не так?

Заранее спасибо.

1 Ответ

7 голосов
/ 01 марта 2010

Теряйте запятые здесь:

    elif form.is_valid():
      name = form.cleaned_data['name']
      sender = form.cleaned_data['sender']
      subject = form.cleaned_data['subject']
      message = form.cleaned_data['message']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...