Skip to main content
 首页 » 编程设计

python之Django 围绕标题发送电子邮件 u''

2025年05月04日29langtianya

我用 Django 为客户写了一个简单的联系表。但是,无论何时发送电子邮件,它都会将 header 值包装在 u'' 对象中。例如,From: header 是

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'' 对象会阻止电子邮件的主题正确显示并阻止其被回复。

我做错了什么?

提前致谢。

请您参考如下方法:

此处省略尾随逗号:

    elif form.is_valid(): 
      name = form.cleaned_data['name'] 
      sender = form.cleaned_data['sender'] 
      subject = form.cleaned_data['subject'] 
      message = form.cleaned_data['message']