2022.11.21办公自动化 自动发送邮件

邮件发送基本流程

生活中发送邮件的步骤:

注册邮箱的账号 -> 打开登录邮箱的网址(连接邮箱服务器) -> 输入账号和密码完成登录 -> 构建邮件 -> 发送邮件

导入发送邮件需要的所有的库

连接邮箱服务器,登录邮箱和发送邮件的模块

import smtplib

导入邮件相关库

from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText

准备邮箱账号和授权码

username = '[email protected]'
mandate_code = 'xxxxxxxxxxxxx'

连接邮箱服务器

con = smtplib.SMTP_SSL('smtp.qq.com')

登录邮箱

con.login(username, mandate_code)

构建邮件

1)创建邮件对象(创建空邮件)

msg = MIMEMultipart()

2)添加邮件主题

header = Header('邮件主题', 'utf-8').encode()
msg['Subject'] = header

3)设置发件人显示信息

sender = f'{username} <{username}>'
msg['From'] = sender

4) 设置收件人信息

receiver = 'xxxxxxx.com'
msg['To'] = receiver

5)构建邮件正文

content = MIMEText('邮件正文内容', 'plain', 'utf-8')
msg.attach(content)

发送邮件

con.sendmail(username, 'xxx发件人邮箱xxx.com', msg.as_string())

关闭连接

con.quit()

添加附件

base64 文件

file1 = open('文件路径', 'rb').read()

att1 = MIMEText(file1, 'base64', 'utf-8')
att1['Content-Disposition'] = 'attachment; filename="显示文件名称(英文名称)"'
msg.attach(att1)

发送富文本 html

# MIMEText(html代码, 'html', 'utf-8')
html = open('路径.html', 'r', encoding='utf-8').read()
content = MIMEText(html, 'html', 'utf-8')
msg.attach(content)

发送图片

需要导入新的模块

from email.mime.image import MIMEImage

以附件方式发送图片

按照上文中的附件发送方式发送即可

以正文形式发送图片

image_data = open('图片路径.png', 'rb').read()
image = MIMEImage(image_data)
image.add_header('Content-ID', '')      # 给图片对象设置图片id
msg.attach(image)

通过使用html代码中的img标签的src属性来绑定图片

src="cid:图片id

content = MIMEText('图片效果如下:
'
, 'html', 'utf-8') # cid后的id名为之前所设置的id msg.attach(content)

简单认识前端

HTML是通过不同的标签来给网页提供不同的功能的。

1)标签语法

  • a.双标签: <标签名 属性名1="属性值1" 属性名2="属性值2" ...>标签内容
  • b.单标签: <标签名 属性名1="属性值1" 属性名2="属性值2" ...> 或者 <标签名 属性名1="属性值1" 属性名2="属性值2" ... />

2)常用标签:

标题标签:h1h2h3h4h5h6
段落标签:p
文字相关其他标签:spanbi
换行标签: br
图片标签:img
超链接:a
按钮标签:buttoninput
输入框:input
单选、复选按钮:input

你可能感兴趣的:(服务器,运维)