Python 从文件创建HTML电子邮件时出现问题

Python 从文件创建HTML电子邮件时出现问题,python,html,Python,Html,我正试图通过Python、argparse和命令行发送一封HTML电子邮件。理想情况下,我想提供一个HTML文件,该文件被读取并转录到电子邮件正文中,但似乎我所能做的就是附加实际的HTML文件。我省略了不必要的代码作为示例 def send_mail(args): message = MIMEMultipart() ... part2 = MIMEText(args.html, 'html') message.attach(part2) if __name__

我正试图通过Python、argparse和命令行发送一封HTML电子邮件。理想情况下,我想提供一个HTML文件,该文件被读取并转录到电子邮件正文中,但似乎我所能做的就是附加实际的HTML文件。我省略了不必要的代码作为示例

def send_mail(args):
    message = MIMEMultipart()
    ...
    part2 = MIMEText(args.html, 'html')
    message.attach(part2)

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('html_file', help='The HTML file intended for use in the body of the email')
    args = parser.parse_args()
    args.html = open(args.html_file).read()

    send_mail(args)

对于未来的旅行者,你必须确保

message = MIMEMultipart()
实际上是

message = MIMEMultipart('alternative')

否则,它会附加文件,而不是嵌入文件

对于未来的旅行者,您必须确保

message = MIMEMultipart()
实际上是

message = MIMEMultipart('alternative')

否则,它会附加文件,而不是嵌入文件

我认为这与
argparse
无关,而与电子邮件创建有关。看,我部分同意。这就是我设置电子邮件的方式,但我希望能够传递一个html文件,该文件本身作为正文进行读写。这是我一直无法理解的部分。我认为这与
argparse
无关,一切都与电子邮件创建有关。看,我部分同意。这就是我设置电子邮件的方式,但我希望能够传递一个html文件,该文件本身作为正文进行读写。这是我一直无法理解的部分。