Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python SMTP头格式_Python_Email_Header_Smtp_Gmail - Fatal编程技术网

python SMTP头格式

python SMTP头格式,python,email,header,smtp,gmail,Python,Email,Header,Smtp,Gmail,下面的代码正确格式化了我的电子邮件脚本。它将收件人、发件人、主题和正文放在电子邮件的正确部分。我的问题是,我不明白为什么在我的connect函数中需要两个返回和两个换行符(“\r\n\r\n”)才能在电子邮件中显示正文,而其余的标题只需要一个CR def message(self): subject = input("What is the subject line of your message") headers = ["from: " + self.sendfrom,

下面的代码正确格式化了我的电子邮件脚本。它将收件人、发件人、主题和正文放在电子邮件的正确部分。我的问题是,我不明白为什么在我的connect函数中需要两个返回和两个换行符(“\r\n\r\n”)才能在电子邮件中显示正文,而其余的标题只需要一个CR

def message(self):
    subject = input("What is the subject line of your message")
    headers = ["from: " + self.sendfrom,
               "to: " + self.sendto,
               "subject: " + subject,
               "content_type: text/html"]
    headers = "\r\n".join(headers)
    msg = input("type your message")
    return headers, msg

def connect(self, headers, msg):
    self.server.starttls()
    self.server.login(self.usrname,self.pswd)
    self.server.sendmail(self.sendfrom, self.sendto, headers + "\r\n\r\n" + msg)
    print("I sent the email")
    return self.server
谢谢

由于,正文必须用空行与标题分开

消息由标题字段和正文(可选)组成。身体 只是包含ASCII字符的行序列。它是 通过空行(即,没有任何内容的行)与标题分隔 在CRLF之前)

电子邮件软件符合这些标准,并希望正文中有一条空行。如果没有空行,它只是假设文本是标题的一部分,通常这些电子邮件软件默认情况下会隐藏大多数标题。

因为,正文必须用空行与标题分开

消息由标题字段和正文(可选)组成。身体 只是包含ASCII字符的行序列。它是 通过空行(即,没有任何内容的行)与标题分隔 在CRLF之前)


电子邮件软件符合这些标准,并希望正文中有一条空行。如果没有空行,它只是假设文本是标题的一部分,通常这些电子邮件软件默认情况下会隐藏大部分标题。

谢谢链接!这份文件实际上回答了我提出的几个问题。非常感谢。谢谢你的链接!这份文件实际上回答了我提出的几个问题。非常感谢。