qq_58388547 2023-09-21 15:02 采纳率: 0%
浏览 5

python pytest 框架内将报告发送邮箱时报错,单独试了一个smtp授权码,是通的。

python pytest 框架内将报告发送邮箱时报错,单独试了一个smtp授权码,是通的。

img

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-21 16:43
    关注

    【相关推荐】



    • 这篇博客: python之SMTP发送邮件信息中的 2. python中的SMTP 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      下面只介绍了发送纯文本格式和HTML格式,下面分别进行发送两种格式邮件的讲解

      2.1 发送文本格式的邮件(QQ邮箱为例)

      首先导入需要的库或类,smtplib库用来进行邮件连接并发送邮件,MIMEText类对邮件内容及格式进行设置;Header类用于添加一些邮件头信息,比如发件人,收件人,主题等。

      import smtplib
      from email.mime.text import MIMEText
      from email.header import Header
      
      

      接下来进行一些初始化,其中MIMEText对象中有三个需要我们设置的参数,一个是正文内容,一个是正文内容的类型,例如:”text/plain”和”text/html”,一个是正文内容的编码。,我这里设置的是文本类型,所以是plain,如下

      sender = '3512919120@qq.com' #发件人邮箱
      receiver = '3512919120@qq.com' #收件人邮箱
      mail_pass = 'axcqgncadvnujlychgj' #qq邮箱授权码,此处随便填的
      
      #text为邮件正文内容,plain为文本格式,'utf-8'为编码格式
      text = 'python 邮件发送测试...'
      message = MIMEText(text, 'plain', 'utf-8')
      
      #添加Header信息,From,To,Subject分别为发送者信息,接收者消息和邮件主题
      message['From'] = Header(sender, 'utf-8')
      message['To'] = Header(receiver, 'utf-8')
      
      subject = 'Python STMP 邮件发送测试'
      message['Subject'] = Header(subject, 'utf-8')
      
      

      qq邮箱授权码获取步骤如下
      在这里插入图片描述
      在这里插入图片描述
      接下来就是调用SMTP进行连接和发送了,如下

      try:
          #smtp.xxx.com为邮箱服务类型,25为STMP的端口
          smtpObj = smtplib.SMTP('smtp.qq.com', 25)#smtp.xxx.com为邮箱服务类型,25为STMP
          #smtpObj = smtplib.SMTP_SSL('smtp.xxx.com', 'xxx邮件服务的端口号')     
          
          smtpObj.login(sender, mail_pass)#登录
          smtpObj.sendmail(sender, receiver, message.as_string())#发送
          print ("邮件发送成功")
      except smtplib.SMTPException:
          print ("Error: 邮件发送失败")
          
      

      发送文本邮件完整代码和效果如下

      #1. 发送文本文件
      
      import smtplib
      from email.mime.text import MIMEText
      from email.header import Header
      
      sender = '3512919120@qq.com' #发件人邮箱
      receiver = '3512919120@qq.com' #收件人邮箱
      mail_pass = '你自己邮箱的授权码' #qq邮箱授权码
      
      #text为邮件正文内容,plain为文本格式,'utf-8'为编码格式
      text = 'python 邮件发送测试...'
      message = MIMEText(text, 'plain', 'utf-8')
      
      #添加Header信息,From,To,Subject分别为发送者信息,接收者消息和邮件主题
      message['From'] = Header(sender, 'utf-8')
      message['To'] = Header(receiver, 'utf-8')
      
      subject = 'Python STMP 邮件发送测试'
      message['Subject'] = Header(subject, 'utf-8')
      
      
      try:
          #smtp.xxx.com为邮箱服务类型,25为STMP的端口
          smtpObj = smtplib.SMTP('smtp.qq.com', 25)#smtp.xxx.com为邮箱服务类型,25为STMP
          #smtpObj = smtplib.SMTP_SSL('smtp.xxx.com', 'xxx邮件服务的端口号')     
          
          smtpObj.login(sender, mail_pass)#登录
          smtpObj.sendmail(sender, receiver, message.as_string())#发送
          print ("邮件发送成功")
      except smtplib.SMTPException:
          print ("Error: 邮件发送失败")
      
      
      

      在这里插入图片描述

      2.2 发生HTML格式的邮件(QQ邮箱为例)

      发送HTML格式的邮件其实很简单,只是把发送的text变为html文本以及将MIMEText对象中文本格式改为html就可以了,如下

      html = '''
      <p>Python STMP 发生html邮件格式测试。。。</p>
      <p><a href='https://www.baidu.com'>这是一个通往百度的链接</a></p>
      '''
      message = MIMEText(html, 'html', 'utf-8')
      
      

      如果要同时发给多个人的话,可将receiver设置为一个列表,如下

      receiver = ['3512919120@qq.com','12646@qq.com']
      

      发送HTML格式的邮件完整代码和效果如下

      #2.发送html格式的邮件
      
      import smtplib
      from email.mime.text import MIMEText
      from email.header import Header
      
      sender = '3512919120@qq.com'
      pass_word = 'qq邮箱授权码'
      receiver = '3512919120@qq.com'
      
      html = '''
      <p>Python STMP 发生html邮件格式测试。。。</p>
      <p><a href='https://www.baidu.com'>这是一个通往百度的链接</a></p>
      '''
      
      message = MIMEText(html, 'html', 'utf-8')
      
      message['From'] = Header(sender, 'utf-8')
      message['To'] = Header(receiver, 'utf-8')
      
      subject = 'Python SMTP 发送html格式邮件 测试'
      message['Subject'] = Header(subject, 'utf-8')
      
      try:
          smtp = smtplib.SMTP('smtp.qq.com', 25)
          smtp.login(sender, pass_word)
          smtp.sendmail(sender, receiver, message.as_string())
          print("邮件发送成功")
      except smtplib.SMTPException:
          print("Error: 邮件发送失败")
          
      

      在这里插入图片描述

      如果有帮助到你,就点个赞吧!


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 9月21日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表