作为一个刚感还不算入门的python小白,我来分享一个我最经学到的一个python在高效率发送邮件这方面,欢迎大家一起讨论一起优化,同时也欢迎大家一起纠错。(想找原链接可以自行去翻阅哦!)
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服务器地址为
,端口号为465),现在来规范化完成代码内容的书写。
mailUser = '这里填写发邮件的邮箱账号'mailPass = '这里填写该邮箱的授权码'smtpObj = smtplib.SMTP_SSL('',465)# 将我们的邮箱账号和授权码传入loin(),来登录该邮箱smtpObj.login(mailUser,mailPass)
3. 现在我们奥编辑的是一个完整邮件应该有的基本信息,我们这里先以发送单个人为例子,让大家理解(我们可以对receiverDict字典 的元素的添加来让我们的自动化邮件发送小工具可以,一次发送邮件给多个对象)
#发件人和收件人sender = mailUserreceivername = '这里输入收件人的昵称'receiverfile = '这里输入收件人的邮箱账号'receiverDict = {receivername:receiverfile}headtext = '这里输入我们邮件的标题'text = '这里输入我们邮件的正文'for receiver in receiverDict:#MIMEultipart负责实例化对象 赋值给messagemessage = 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('正文','文件格式','编码方式')的实例 传入三个参数 并赋值给mailContentmailContent = 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('发送成功!!!!!!!!!')
以上就是我们今天f分享的过程啦,满满干货。同时也希望宝子们能够自己动手去敲代码,来不断优化代码,从而实现更加的高效率,欢迎大家留言一起讨论!