python利用poplib发送邮件,并在邮件中显示图片的程序
时间: 2023-03-29 18:01:01 浏览: 123
基于python的垃圾分类系统资料齐全+详细文档.zip
以下是 Python 利用 poplib 发送邮件,并在邮件中显示图片的程序:
```python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
import poplib
# 发送邮件
def send_email():
# 邮件内容
msg = MIMEMultipart()
msg['From'] = 'sender@example.com'
msg['To'] = 'recipient@example.com'
msg['Subject'] = '邮件标题'
# 邮件正文
text = MIMEText('邮件正文')
msg.attach(text)
# 图片附件
with open('image.jpg', 'rb') as f:
img = MIMEImage(f.read())
img.add_header('Content-Disposition', 'attachment', filename='image.jpg')
msg.attach(img)
# 发送邮件
server = smtplib.SMTP('smtp.example.com', 25)
server.login('username', 'password')
server.sendmail('sender@example.com', 'recipient@example.com', msg.as_string())
server.quit()
# 接收邮件
def receive_email():
# 连接邮件服务器
server = poplib.POP3('pop.example.com')
server.user('username')
server.pass_('password')
# 获取邮件列表
resp, mails, octets = server.list()
# 获取最新的一封邮件
resp, lines, octets = server.retr(len(mails))
# 解析邮件内容
msg = b'\r\n'.join(lines).decode('utf-8')
msg = email.message_from_string(msg)
# 显示邮件内容
print(msg['Subject'])
print(msg['From'])
print(msg['To'])
print(msg.get_payload())
for part in msg.walk():
if part.get_content_type() == 'image/jpeg':
with open('image.jpg', 'wb') as f:
f.write(part.get_payload(decode=True))
# 关闭连接
server.quit()
# 发送邮件
send_email()
# 接收邮件
receive_email()
```
注意:在发送邮件时,需要将图片作为附件添加到邮件中,并在邮件正文中使用 `<img>` 标签引用图片。在接收邮件时,需要解析邮件内容,并将图片保存到本地。
阅读全文