python学习--使用QQ邮箱发送邮件代码实例

yipeiwu_com7年前Python基础

服务器计算数据有时需要大量的时间,使用程序发送一封邮件是一种免费便捷的通知方式,可以让我们及时收到程序中断或者程序运行完成的信息,而不用一直盯着屏幕看。以下以python为例写一个邮件发送程序:

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

class Mail(object):
  def __init__(self,user,token):
    self.host = "smtp.qq.com"  # qq邮箱服务器地址
    self.user = user
    self.token = token
    self.sender = "1477517404@qq.com"
    self.subject = "服务器通知"
    self.smtpObj = smtplib.SMTP()
    self.smtpObj.connect(self.host, 25)
    self.smtpObj.login(user,token)


  def generate_message(self,message):
    self.message = MIMEText(message,'plain','utf-8')
    self.message['From'] = Header('计算中心','utf-8')
    self.message['To'] = Header('电商所的同学们','utf-8')
    self.message['Subject'] = Header(self.subject, 'utf-8')

  def send_to(self,receiver):
    try:
      self.smtpObj.sendmail(self.sender, receiver, self.message.as_string())
      print("邮件发送成功")
    except smtplib.SMTPException:
      print("Error: 无法发送邮件")

在程序中的调用:

# -*- coding: <utf-8> -*-
from ServerEmail import Mail
if __name__ == "__main__":
  email = Mail("1477517404@qq.com","******")  # QQ邮箱的账号 和token,token是从QQ邮箱网站中获取的授权码
  email.generate_message("程序已经运行完成,请尽快查看实验结果")
  email.send_to("m18356410249@163.com")

效果:

以上所述是小编给大家介绍的python使用QQ邮箱发送邮件详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Python读取excel中的图片完美解决方法

Python读取excel中的图片完美解决方法

excel中有图片是很常见的,但是通过python读取excel中的图片没有很好的解决办法。 网上找了一种很聪明的方法,原理是这样的: 1、将待读取的excel文件后缀名改成zip,变成...

python实现二叉树的遍历

python实现二叉树的遍历

本文实例为大家分享了python实现二叉树的遍历具体代码,供大家参考,具体内容如下 代码: # -*- coding: gb2312 -*- class Queue(obje...

对pycharm代码整体左移和右移缩进快捷键的介绍

在使用pycharm时,经常会需要多行代码同时缩进、左移,pycharm提供了快捷方式 1、pycharm使多行代码同时缩进 鼠标选中多行代码后,按下Tab键,一次缩进四个字符 2、py...

基于python分析你的上网行为 看看你平时上网都在干嘛

基于python分析你的上网行为 看看你平时上网都在干嘛

简介 想看看你最近一年都在干嘛?看看你平时上网是在摸鱼还是认真工作?想写年度汇报总结,但是苦于没有数据?现在,它来了。 这是一个能让你了解自己的浏览历史的Chrome浏览历史记录分析程...

利用Python在一个文件的头部插入数据的实例

在一个文件的末尾追加数据是很常用的。在使用过程中应该都比较熟悉不会出现什么错误。但是往一个文件头部插入数据可能或多或少会碰到一些问题。 看似正确的错误代码 很多代码看似正确,但是其实都是...