Django发送电子邮件格式问题

Django发送电子邮件格式问题,django,email,Django,Email,我在Django 1.8中将表单输出发送到电子邮件时遇到格式问题。输出包括两个选项卡,用于以纯文本电子邮件形式发送的邮件中的每条语句。如何移除选项卡或确保输出位于最左侧 下面是一个输出示例。我每次都会收到这封电子邮件: Business: DS2 Location: sdad sdasd sadasd Description: sdasd asd asd Host Ticket: None System Ticket: None

我在Django 1.8中将表单输出发送到电子邮件时遇到格式问题。输出包括两个选项卡,用于以纯文本电子邮件形式发送的邮件中的每条语句。如何移除选项卡或确保输出位于最左侧

下面是一个输出示例。我每次都会收到这封电子邮件:

    Business: DS2   

    Location: 
sdad
sdasd
sadasd 


    Description: 
sdasd
asd
asd


    Host Ticket: None

    System Ticket: None

    Created By: user
下面是我的观点.py

class NotifyCreate(CreateView):
model = Notify
template_name = "notify/add.html"
fields = [
    "priority",
    "business",
    "location",
    "description",
    "host",
    "system",
]


def form_valid(self, form, *args, **kwargs):    
    form.instance.user = self.request.user
    priority = form.cleaned_data.get("priority")
    business = form.cleaned_data.get("business")
    location = form.cleaned_data.get("location")
    description = form.cleaned_data.get("description")
    host = form.cleaned_data.get("host")
    system = form.cleaned_data.get("system")
    subject = "%s Notification"%(priority)
    message = """
    Business: %s 
    \n 
    Location: %s 
    \n  
    Description: %s
    \n 
    Host Ticket: %s
    \n  
    System Ticket: %s
    \n  
    Created By: %s
    \n
    """%( 
        business, 
        location, 
        description,
        host,
        system,
        self.request.user)
    from_email = 'donotreply@_.com'
    to_email = 'user@_.com'
    if subject and message and from_email and to_email:
        try:
            send_mail(subject, message, from_email, [to_email], fail_silently=False)
        except BadHeaderError:
            return HttpResponse('Invalid header found.')
        return super(NotifyCreate, self).form_valid(form)
    else:
        return HttpResponse('Make sure all fields are entered and valid.')

如果可能的话,我希望输出像一个标准的明文电子邮件

在多行字符串中,不应缩进每一行的开头,因为该字符串中包含空格。应该是:

    def form_valid(self, form, *args, **kwargs):
        ...
        message = """
Business: %s 
\n 
Location: %s 
\n  
Description: %s
\n 
Host Ticket: %s
\n  
System Ticket: %s
\n  
Created By: %s
\n
"""%( 
    business, 
    location, 
    description,
    host,
    system,
    self.request.user)
如果你觉得那看起来很难看,你可以用


另外,我强烈建议您使用4个空格代替制表符进行缩进。
from textwrap import dedent

    def form_valid(self, form, *args, **kwargs):
        ...
        message = dedent("""
        Business: %s 
        \n 
        Location: %s 
        \n  
        Description: %s
        \n 
        Host Ticket: %s
        \n  
        System Ticket: %s
        \n  
        Created By: %s
        \n
        """ % (...))