Python中使用MIMEMultipart()创建带有HTML内容的邮件
发布时间:2023-12-25 18:28:59
使用Python中的smtplib和email模块可以很方便地创建带有HTML内容的邮件。下面是一个使用MIMEMultipart()创建邮件的示例:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText # 设置发件人和收件人 from_addr = 'your_email@gmail.com' to_addr = 'recipient_email@gmail.com' # 设置SMTP服务器地址和端口 smtp_server = 'smtp.gmail.com' smtp_port = 587 # 设置发件人邮箱的用户名和密码 username = 'your_email@gmail.com' password = 'your_password' # 创建一个MIMEMultipart实例,并设置邮件的主题 msg = MIMEMultipart() msg['From'] = from_addr msg['To'] = to_addr msg['Subject'] = 'Test HTML Email' # 创建HTML内容 html_content = """ <html> <body> <h1>This is an HTML email</h1> <p>Hello, world!</p> </body> </html> """ # 创建一个MIMEText实例,并设置HTML内容和邮件类型('html') html_part = MIMEText(html_content, 'html') msg.attach(html_part) # 连接SMTP服务器,登录发件人邮箱 server = smtplib.SMTP(smtp_server, smtp_port) server.ehlo() # 向服务器发送ehlo指令,表示与服务器建立连接 server.starttls() # 启动TLS加密,如果需要的话 server.login(username, password) # 发送邮件 server.sendmail(from_addr, to_addr, msg.as_string()) # 关闭连接 server.quit()
上述代码中,我们首先导入了smtplib和email模块的相关类。然后,我们设置了发件人的邮箱地址、 SMTP服务器地址和端口、发件人邮箱的用户名和密码,以及邮件的主题。接下来,我们使用MIMEMultipart()创建一个邮件实例,并设置发件人、收件人和主题。
然后,我们使用MIMEText类创建一个MIMEText实例,并将HTML内容和邮件类型('html')作为参数传递给该实例。接着,我们使用MIMEMultipart实例的attach()方法将MIMEText实例添加到邮件实例中。
最后,我们使用smtplib模块的SMTP类与SMTP服务器建立连接,并使用login()方法登录发件人邮箱。接着,我们使用sendmail()方法发送邮件。最后,我们使用quit()方法关闭与SMTP服务器的连接。
这样,就可以使用Python中的smtplib和email模块创建带有HTML内容的邮件了。
