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

yipeiwu_com6年前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常用库之NumPy和sklearn入门

python常用库之NumPy和sklearn入门

Numpy 和 scikit-learn 都是python常用的第三方库。numpy库可以用来存储和处理大型矩阵,并且在一定程度上弥补了python在运算效率上的不足,正是因为numpy...

django 单表操作实例详解

前面视图层,模板层、路由层都写了大概,项目肯定是会和数据库打交道,那就讲讲orm的单表查询吧,直接写过一点点,不太全面。 1、项目刚创建好,我们需要在settings里配置一下(用my...

详解python算法之冒泡排序

详解python算法之冒泡排序

python之冒泡排序 概念: 重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相...

python命令行解析之parse_known_args()函数和parse_args()使用区别介绍

在python中,命令行解析的很好用, 首先导入命令行解析模块 import argparse import sys 然后创建对象 parse=argparse.ArgumentP...

利用Pycharm断点调试Python程序的方法

利用Pycharm断点调试Python程序的方法

1.代码 准备没有语法错误的Python程序: #!/usr/bin/python import numpy as np class Network: def __init__(...