1.首先我们要完整的将我们的邮件发出去,我们需要引用以下模块:
# smtplib 模块是负责登录邮箱和发送邮箱
import smtplib
# Header 负责编辑邮件的内容,编辑发件人等信息
from email.header import Header
# 负责将信息整合到邮件中
from email.mime.multipart import MIMEMultipart
#负责咱们邮件正文内容的书写
from email.mime.text import MIMEText
# 负责将图片文件编辑为邮件中需要的格式
from email.mime.image import MIMEImage
2.接下来我们需要引入我们发送邮件的邮箱账号,获取我们邮箱的授权码,邮箱的SMTP
服务器地址,以及我们邮箱的端口号。(这里我们以qq邮箱为例,qq邮箱的SMTP服务器地址为
smtp.qq.com,端口号为465),现在来规范化完成代码内容的书写。
mailUser = '这里填写发邮件的邮箱账号'
mailPass = '这里填写该邮箱的授权码'
smtpObj = smtplib.SMTP_SSL('smtp.qq.com',465)
# 将我们的邮箱账号和授权码传入loin(),来登录该邮箱
smtpObj.login(mailUser,mailPass)
3. 现在我们奥编辑的是一个完整邮件应该有的基本信息,我们这里先以发送单个人为例子,让大家理解(我们可以对receiverDict字典 的元素的添加来让我们的自动化邮件发送小工具可以,一次发送邮件给多个对象)
#发件人和收件人
sender = mailUser
receivername = '这里输入收件人的昵称'
receiverfile = '这里输入收件人的邮箱账号'
receiverDict = {receivername:receiverfile}
headtext = '这里输入我们邮件的标题'
text = '这里输入我们邮件的正文'
for receiver in receiverDict:
#MIMEultipart负责实例化对象 赋值给message
message = MIMEMultipart()
# 将发件人信息写入 message['from']
message['From'] = Header(f'<{sender}>')
# 将收件人的信息写入 message['to']
message['To'] = Header(f'{receiver}<{receiverDict[receiver]}>')
# 将将主题写入 message['subject']
message['Subject'] = Header(f'{headtext}')
#创建MIMEText('正文','文件格式','编码方式')的实例 传入三个参数 并赋值给mailContent
mailContent = MIMEText(f'''{text}
''','plain','utf-8')
#这里使用我们的attach()来将正文添加到我们的邮件中去
message.attach(mailContent)
4.最后一步就是将我们前面所填写的全部内容整合到一起,通过sendmail() 来将我们所写的邮件邮件打包发送啦!
# 使用sendmail(发件人,收件人,message。as_string()) 来发送邮件
smtpObj.sendmail(sender,receiverDict[receiver],message.as_string())
# 添加一段文字来确认我们的邮件成功发送出去
print('发送成功!!!!!!!!!')