python学习笔记之电子邮件模块smtplib

在系统管理领域,我们常常用邮件来发送管理信息、业务质量报表等,方便运维人员第一时间了解业务的服务状态。通过python的smtplib模块来实现邮件的发送功能,模拟一个smtp客户端,通过与smtp服务器交互来实现邮件发送的功能。

smtplib模块的常用类与方法

  • SMTP.connect([host[,port]])方法,连接远程smtp主机方法,host为远程主机地址,port为远程主机smtp端口,默认为25,也可以直接使用host:port形式来表示,例如:SMTP.connect("smtp.qq.com","25")
  • SMTP.login(user, password)方法,远程主机的校验方法。
  • SMTP.sendmail(from_addr, to_addrs, msg, mail_options=[],rcpt_options=[])方法,实现邮件的发送功能,参数依次为发件人、收件人、邮件内容,例如:SMTP.sendmail("[email protected]","[email protected]",body),其中body内容如下:
  • SMTP.starttls()方法,启用TLS(安全传输)模式,所有SMTP指令都将加密传输。
  • SMTP.quit()方法,断开与smtp服务器的连接。

注意:QQ邮箱需要生成授权码。

示例:

#!/usr/bin/env python

import smtplib

HOST = "smtp.qq.com"
SUBJECT = "Test email from python"
TO = "[email protected]"
FROM = "[email protected]"
test = "Just a test txt!"
BODY = "\r\n".join((
        "From: %s" %FROM,
        "To: %s" %TO,
        "Subject: %s" %SUBJECT,
        "",
        test))

server = smtplib.SMTP()
server.connect(HOST,"25")
server.starttls()
server.login("[email protected]om","password")
server.sendmail(FROM,[TO],BODY)
server.quit()
时间: 2024-08-07 08:18:47

python学习笔记之电子邮件模块smtplib的相关文章

Python学习笔记-安装MySQLdb模块

模块下载地址: MySQL-python 1.2.3 for Windows and Python 2.7, 32bit and 64bit versions http://www.codegood.com/archives/129 直接点击安装exe即可,如果缺少dll文件,可以百度下载相关dll文件. Python学习笔记-安装MySQLdb模块

Python学习笔记__5章 模块

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,在Python中,一个.py文件就称之为一个模块(Module) 1.1.使用模块的好处 提高了代码的可维护性 当一个模块编写完毕,就可以被其他地方引用 避免函数名和变量名冲突.相同名字的函数和变量可以分别存在不同的模块中 1.2.python组织模块的方法 为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Pack

Python学习笔记八:模块

模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 简单地说,模块就是一个保存了Python代码的文件.模块能定义函数,类和变量.模块里也能包含可执行的代码. import 想使用Python源文件,只需在另一个源文件里执行import语句,当解释器遇到import语句,如果模块在当前的搜索路径就会被导入. 1 #coding=utf-8 2 #!/usr/bin/python

Python 学习笔记(6)--常用模块(2)

一.下载安装 下载安装有两种方式: yum\pip\apt-get 或者源码 下载源码 解压源码 进入目录 编译源码 python setup.py build 安装源码 python setup.py install 注:在使用源码安装时,需要使用到gcc编译和python开发环境,所以,需要先执行: yum install gcc python-devel 安装成功后,模块会自动安装到 sys.path 中的某个目录中,如: /usr/lib/python2.7/site-packages/

python学习笔记(六):常用模块

一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包,package本质就是一个文件夹,和文件夹不一样的是它有一个__init__.py文件,包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果你想导入其他目录下的模块,那么这个目录必须是一个包才可以导入. 导入模块 1 2 3 4 5 import module #导入模块 from modul

Python学习笔记十_模块、第三方模块安装、模块导入

一.模块.包 1.模块 模块实质上就是一个python文件.它是用来组织代码的,意思就是把python代码写到里面,文件名就是模块的名称,test.py test就是模块的名称 2.包 包,package本质就是一个文件夹,和文件夹不一样的是它有一个__init__.py文件.包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果想到如其他目录下的模块,那么这个目录必须是一个包才可以导入. 二.模块分类 1.标准模块.标准包 python自带的这些模块,直接import就能用的 import

python学习笔记day5——常用模块学习

一.主要内容 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 二.具体内容 1.模块 a.定义:本质就是.py结尾的python文件,逻辑上组织python代码,实现某种功能.例:文件名test.py-->模块名test. b.导入方法:imort moduname from mdn

python学习笔记之——函数模块

1.函数参数说明: def login(name,info,passwd = '123456') 函数参数可以有默认值,调用函数时: 1.如果只传二个参数,则有默认值的一定要放到最后: def login(name,passwd = '123456',info='welcome to you') 2.如果传二个参数,一定要指明形参: login(user) login(user,passwd) login(user,info='欢迎') login(user,info='欢迎',passwd='

Python学习笔记-DNS处理模块dnspython

DNS处理模块dnspython     dnspython是python实现的一个DNS工具包,它支持几乎所有的记录类型,可以用于查询.传输并动态更新ZONE信息,同时支持TSIG(事务签名)验证消息和EDNS0(扩展DNS). 在系统管理方面,我们可以利用其查询功能来实现DNS服务监控以及解析结果的校验,可以替代nslookup和dig等工具,轻松做到与现有平台的整合.     下载dnspython模块 [[email protected] ~]# python3 -m easy_inst