Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.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 MIME-发送带有HTML文件作为附件的电子邮件?_Python_Email_Smtp_Mime - Fatal编程技术网

Python MIME-发送带有HTML文件作为附件的电子邮件?

Python MIME-发送带有HTML文件作为附件的电子邮件?,python,email,smtp,mime,Python,Email,Smtp,Mime,我正在编写一个脚本,创建多个以HTML格式保存的绘图交互图表。我想编写代码,将这些HTML文件作为附件发送到电子邮件中。我似乎找不到关于这个的任何文档,只有关于如何在电子邮件中嵌入HTML的说明,这不是我想要的。我只是想附加文件,就像我附加了一个JPG图片或PDF文件 到目前为止我已经有了代码,它只是嵌入了HTML: import lxml.html import smtplib import sys import os page = 'report.html' root = lxml.ht

我正在编写一个脚本,创建多个以HTML格式保存的绘图交互图表。我想编写代码,将这些HTML文件作为附件发送到电子邮件中。我似乎找不到关于这个的任何文档,只有关于如何在电子邮件中嵌入HTML的说明,这不是我想要的。我只是想附加文件,就像我附加了一个JPG图片或PDF文件

到目前为止我已经有了代码,它只是嵌入了HTML:

import lxml.html
import smtplib
import sys
import os

page = 'report.html'

root = lxml.html.parse(page).getroot()
root.make_links_absolute()

content = lxml.html.tostring(root)

message = """From: <me@gmail.com>
To: <you@gmail.com>
MIME-Version: 1.0
Content-type: text/html
Subject: %s

%s""" %(page, content)


s = smtplib.SMTP('localhost')
s.sendmail('me@gmail.com', ['you@gmail.com'], message)
s.quit()
import lxml.html
导入smtplib
导入系统
导入操作系统
页面='report.html'
root=lxml.html.parse(page.getroot())
root.make_links_absolute()
content=lxml.html.tostring(根)
message=“”来自:
致:
MIME版本:1.0
内容类型:text/html
主题:%s
%s”“”%(第页,内容)
s=smtplib.SMTP('localhost')
s、 发送邮件('me@gmail.com', ['you@gmail.com“],消息)
s、 退出

谢谢你的帮助。我希望能找到一种动态的方式来发送多种格式的文件,这样我就不必担心发送不同类型文件的不同功能。

在标准文档中,请参阅模块
电子邮件的第三个示例


编辑:对于其他文件,您可以获得
main类型
子类型

import mimetypes

filename = 'file.html'
ctype, encoding = mimetypes.guess_type(filename)
maintype, subtype = ctype.split("/", 1)

print(maintype, subtype)

# text html

在标准文档中,请参见模块
电子邮件的第三个示例


编辑:对于其他文件,您可以获得
main类型
子类型

import mimetypes

filename = 'file.html'
ctype, encoding = mimetypes.guess_type(filename)
maintype, subtype = ctype.split("/", 1)

print(maintype, subtype)

# text html

这是用于png文件的。如何发送html文件附件?例如,如果我只想发送一个HTML文件,我将如何发送?当我尝试您发布的标准文档时,我得到
TypeError:sequence item 1:expected str instance,NoneType found
请参阅链接中的其他示例-有一个示例将HTML+图像作为电子邮件内容。我不想在邮件中嵌入HTML。。我只想发送一个HTML文件-这与任何图像都不一样,所以不同的是
maintype='text',subtype='HTML'
我添加了可以识别
maintype
subtype
的代码,这是用于png文件的。如何发送html文件附件?例如,如果我只想发送一个HTML文件,我将如何发送?当我尝试您发布的标准文档时,我得到
TypeError:sequence item 1:expected str instance,NoneType found
请参阅链接中的其他示例-有一个示例将HTML+图像作为电子邮件内容。我不想在邮件中嵌入HTML。。我只想发送一个HTML文件,它与任何图像都不同,所以不同之处在于
maintype='text',subtype='HTML'
我添加了可以识别
maintype
subtype