python实现自动发送邮件
时间: 2023-10-24 08:11:50 浏览: 50
以下是Python实现自动发送邮件的示例代码:
```python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
# 邮件发送方地址
from_addr = 'your_email_address'
# 邮件发送方密码
password = 'your_email_password'
# 邮件接收方地址
to_addr = 'recipient_email_address'
# 邮件主题
subject = 'Test Email'
# 创建一个包含HTML内容的邮件正文
html_content = """
<html>
<body>
<h2>Hello, World!</h2>
<p>This is a test email sent using Python.</p>
<p>Below is an image:</p>
<img src="cid:image1">
</body>
</html>
"""
# 创建一个包含图片的邮件正文
with open('image.png', 'rb') as f:
image_data = f.read()
image = MIMEImage(image_data)
image.add_header('Content-ID', '<image1>')
# 将HTML内容和图片添加到邮件中
msg = MIMEMultipart()
msg.attach(MIMEText(html_content, 'html'))
msg.attach(image)
# 设置邮件头信息
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = subject
# 使用SMTP协议发送邮件
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(from_addr, password)
server.sendmail(from_addr, to_addr, msg.as_string())
server.quit()
print('Email sent successfully.')
```
这段代码使用了Python标准库中的smtplib和email模块。首先,我们需要设置邮件的发送方地址、密码、接收方地址和主题。然后,创建一个包含HTML内容和图片的邮件正文,并将其添加到MIMEMultipart对象中。最后,设置邮件头信息,使用SMTP协议发送邮件。在发送邮件之后,我们将打印出“Email sent successfully.”的信息。