利用python编写程序,发送一个html 格式的电子邮件到账号为:1063180687@qq.com的邮箱,邮件内容主要是介绍家乡或者以前的学校或者介绍一个喜欢明星,要求邮件正文内容包含照片、网页链接等
时间: 2024-11-15 12:30:00 浏览: 24
在Python中,我们可以使用`smtplib`库来发送HTML格式的电子邮件。以下是一个简单的示例,展示了如何完成这个任务:
首先,确保安装了`smtplib`和`email`这两个标准库,如果没有安装,可以运行`pip install smtplib email`
```python
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
import os
# 邮件信息设置
sender_email = "你的邮箱地址" # 发送者邮箱
sender_password = "你的邮箱密码" # 发送者的授权码或应用API密钥
receiver_email = "1063180687@qq.com"
# 创建MIMEMultipart对象作为邮件主体
msg = MIMEMultipart('related')
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = "标题 - 描述家乡/学校/明星的邮件"
# 设置HTML内容
html_content = """
<html>
<head></head>
<body>
<h1>标题</h1>
<p>这是关于{主题}的介绍...</p>
<img src="cid:image1">
<a href="网页链接">更多详情</a>
</body>
</html>
"""
# 添加图片(假设图片在本地,如:images/hometown.jpg)
with open("images/hometown.jpg", 'rb') as f:
img_data = f.read()
image = MIMEImage(img_data)
image.add_header('Content-ID', '<image1>')
msg.attach(image)
# 设置HTML文本
text_part = MIMEText(html_content.format(theme="家乡"), 'html')
msg.attach(text_part)
try:
# 连接到SMTP服务器并登录
server = smtplib.SMTP_SSL('smtp.qq.com', 465) # 需要替换为对应的SMTP服务器和端口
server.login(sender_email, sender_password)
# 发送邮件
server.sendmail(sender_email, receiver_email, msg.as_string())
print("邮件已成功发送")
except Exception as e:
print(f"发送邮件出错:{str(e)}")
# 关闭连接
server.quit()
阅读全文