markdown格式发送邮件

python,文本文档以markdown格式写,并保存markdown格式

import os import io # 定义Markdown文本 text = """ # Hello This is a **markdown** file. - Item 1 - Item 2 """ # 将Markdown文本写入文件 with io.open('example.md', 'w', encoding='utf-8') as f: f.write(text) # 打印Markdown文件内容 with io.open('example.md', 'r', encoding='utf-8') as f: print(f.read())

读取markdown 格式的文件,将文件转为html格式;

import markdown # 读取Markdown文件 with open('D:\example.md', 'r', encoding='utf-8') as f: markdown_text = f.read() # 将Markdown转换为HTML html_text = markdown.markdown(markdown_text) print(html_text) # 写入HTML文件 # with open('example.html', 'w', encoding='utf-8') as f: # f.write(html_text)

发送邮件html格式

在邮件中,如果要以 Markdown 格式显示内容,需要在邮件正文中设置 Content-Type 为 text/markdown,并将 Markdown 格式的内容转换为 HTML 格式后再作为邮件正文内容。
以下是一个示例代码,展示如何以 Markdown 格式在邮件中显示内容:

import smtplib from email.mime.text import MIMEText # 配置邮件内容 msg = MIMEText('<html><body><h1>Hello World!</h1></body></html>', 'html') msg['From'] = 'sender@example.com' msg['To'] = 'receiver@example.com' msg['Subject'] = 'HTML Format Test' # 发送邮件 with smtplib.SMTP('smtp.example.com', 587) as smtp: smtp.login('username', 'password') smtp.sendmail('sender@example.com', 'receiver@example.com', msg.as_string())

完整发送邮件 markdown格式

import smtplib import markdown from email.mime.text import MIMEText # 定义Markdown格式的文本 markdown_text = """ # Hello This is a **markdown** file. - Item 1 - Item 2 """ # 将Markdown转换为HTML html_text = markdown.markdown(markdown_text) # 配置邮件内容 msg = MIMEText(html_text, 'html') msg['From'] = 'sender@example.com' msg['To'] = 'receiver@example.com' msg['Subject'] = 'Markdown Format Test' # 设置Content-Type为text/markdown msg.replace_header('Content-Type', 'text/markdown') # 发送邮件 with smtplib.SMTP('smtp.example.com', 587) as smtp: smtp.login('username', 'password') smtp.sendmail('sender@example.com', 'receiver@example.com', msg.as_string())

以上代码将 Markdown 格式的文本转换为 HTML 格式,然后使用 MIMEText 类创建一个邮件对象,并将 HTML 格式的内容传递给 MIMEText 类的构造函数,设置 Content-Type 为 text/markdown,使用 SMTP 协议发送邮件。需要注意的是,在邮件中显示 Markdown 格式的内容需要将其转换为 HTML 格式。