python 实现QQ邮箱发送邮件

  • 我们在日常python开发过程中,需求中常有实现发送邮箱的功能,可以说是非常常见,也非常重要的功能。
  • 在这里,我们以QQ邮箱为例子,开发一个QQ邮箱发送邮件的小功能。开发QQ邮箱发送邮件的功能其实很简单,其中里面有个要注意的地方就是授权码的获取,因为第三方软件登录QQ邮箱时,无法通过QQ邮箱密码登录,而是需要使用一个授权码去登录,具体授权码获取方式如连接:如何获取QQ邮箱授权码,只要我们拿到授权码,就可以通过python登录QQ邮箱,并发送邮件了,不罗嗦,具体代码如下
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

# 写成了一个通用的函数接口,想直接用的话,把参数的注释去掉就好
def send_email(msg_from, passwd, msg_to, text_content, file_path=None):
    msg = MIMEMultipart()
    subject = "python 实现邮箱发送邮件"  # 主题
    text = MIMEText(text_content)
    msg.attach(text)
    # docFile = 'C:/Users/main.py'  如果需要添加附件,就给定路径
    if file_path:  # 最开始的函数参数我默认设置了None ,想添加附件,自行更改一下就好
        docFile = file_path
        docApart = MIMEApplication(open(docFile, 'rb').read())
        docApart.add_header('Content-Disposition', 'attachment', filename=docFile)
        msg.attach(docApart)
        print('发送附件!')
    msg['Subject'] = subject
    msg['From'] = msg_from
    msg['To'] = msg_to
    try:
        s = smtplib.SMTP_SSL("smtp.qq.com", 465)
        s.login(msg_from, passwd)
        s.sendmail(msg_from, msg_to, msg.as_string())
        print("发送成功")
    except smtplib.SMTPException as e:
        print("发送失败")
    finally:
        s.quit()
msg_from = '119278****@qq.com'  # 发送方邮箱
passwd = 'fqhdpidpnz******'  # 填入发送方邮箱的授权码(就是刚刚你拿到的那个授权码)
msg_to = '*******@******.com'  # 收件人邮箱
text_content = "hi,this is a demo!" # 发送的邮件内容
file_path = 'demo.xlsx' # 需要发送的附件目录
send_email(msg_from,passwd,msg_to,text_content,file_path)
  • 如上代码,只需要在相应变量处填写相应的信息,如发送邮箱账号、授权码、接收邮箱账号、发送内容等,还可添加附件,就能实现QQ邮箱发送邮件功能。
  • 这边已经收到邮箱啦!
    在这里插入图片描述
  • 关注我,一起学习,一起分享,一起进步。
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值