python 发送qq邮件的示例

时间:2022-11-02 15:31:22

python自带了两个模块smtplib和email用于发送邮件。smtplib模块主要负责发送邮件,它对smtp协议进行了简单的封装。email模块主要负责邮件的构造。

email包下有三个模块:MIMEText,MIMEImage,MIMEMultipart

发送纯文本qq邮件

  1. import smtplib
  2. from email.header import Header
  3. from email.mime.text import MIMEText
  4.  
  5. sender = '888888@qq.com' # 发送使用的邮箱
  6. receivers = ['888888@qq.com'] # 收件人,可以是多个任意邮箱
  7.  
  8. message = MIMEText('这里是正文!', 'plain', 'utf-8')
  9. message['From'] = Header("发送者", 'utf-8') # 发送者
  10. message['To'] = Header("接收者", 'utf-8') # 接收者
  11.  
  12. subject = '这里是主题!'
  13. message['Subject'] = Header(subject, 'utf-8')
  14.  
  15. try:
  16. # qq邮箱服务器主机
  17. # 常见其他邮箱对应服务器:
  18. # qq:smtp.qq.com 登陆密码:系统分配授权码
  19. # 163:stmp.163.com 登陆密码:个人设置授权码
  20. # 126:smtp.126.com 登陆密码:个人设置授权码
  21. # gmail:smtp.gmail.com 登陆密码:邮箱登录密码
  22.  
  23. smtp = smtplib.SMTP_SSL('smtp.qq.com')
  24.  
  25. # 登陆qq邮箱,密码需要使用的是授权码
  26. smtp.login(sender, 'abcdefghijklmn')
  27.  
  28. smtp.sendmail(sender, receivers, message.as_string())
  29. smtp.quit()
  30. print("邮件发送成功")
  31. except smtplib.SMTPException:
  32. print("Error: 无法发送邮件")

python 发送qq邮件的示例

发送HTML格式邮件

  1. html = """
  2. <html>
  3. <body>
  4. <h2> HTML </h2>
  5. <div style='font-weight:bold'>
  6. 格式邮件
  7. </div>
  8. </body>
  9. </html>
  10. """
  11. message = MIMEText(html,'html', 'utf-8')

python 发送qq邮件的示例

发送HTML格式邮件带图片

  1. html = """
  2. <html>
  3. <body>
  4. <h2> HTML </h2>
  5. <div style='font-weight:bold'>
  6. 格式邮件带图片
  7. </div>
  8. <img src="cid:imageTest">
  9. </body>
  10. </html>
  11. """
  12.  
  13. message = MIMEMultipart('related')
  14.  
  15. messageAlter = MIMEMultipart('alternative')
  16. message.attach(messageAlter)
  17.  
  18. messageAlter.attach(MIMEText(html, 'html', 'utf-8'))
  19.  
  20. # 指定图片为当前目录
  21. fp = open('test.png', 'rb')
  22. messageImage = MIMEImage(fp.read())
  23. fp.close()
  24.  
  25. # 定义图片ID,和图片中的ID对应
  26. messageImage.add_header('Content-ID', '<imageTest>')
  27. message.attach(messageImage)

python 发送qq邮件的示例

发送带附件邮件

  1. from email.mime.multipart import MIMEMultipart
  2.  
  3. message = MIMEMultipart()
  4.  
  5. message.attach(MIMEText('这里一封带附件的邮件!', 'plain', 'utf-8'))
  6.  
  7. # 添加附件
  8.  
  9. # 其他格式如png,rar,doc,xls等文件同理。
  10.  
  11. attach = MIMEText(open('test.txt', 'rb').read(), 'base64', 'utf-8')
  12. attach["Content-Type"] = 'application/octet-stream'
  13. attach["Content-Disposition"] = 'attachment; filename="test.txt"'
  14.  
  15. message.attach(attach)

python 发送qq邮件的示例

以上就是python 发送qq邮件的示例的详细内容,更多关于python 发送qq邮件的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/chenjy1225/p/14486773.html