自动化运维脚本模块-stmplib,emai模块

背景:

在系统管理领域,我们常常使用邮件来发送告警信息、方便运维人员第一时间了解并处理问题。

什么是SMTP

SMTP(simple mail transfer protocol):简单邮件传输协议,它是一组用于由源地址到目的地址的邮件传输规则

smtplib和email模块组合使用说明

简单来说,smtplib负责邮件的发送、传递,email实现邮件的构建。

其中,smtplib模拟smtp客户端,通过连接smtp服务器来进行数据交互,实现邮件的发送、传递

python中,smtplib实现对smtp的封装,可以发送纯文本、HTML、以及带附件的邮件

smtplib模块说明

1、创建smtp对象

import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

2、smtplib常用方法

#连接SMTP服务器
SMTP.connect(host,port)
#登录SMTP服务器
SMTP.login(user,passwd)  #user:发件账号  passwd:SMTP服务器授权码
#发送邮件
SMTP.sendmail(From,To,msg[mail_option,rcpt_option])
#From:邮件发送人    To:邮件接收人  msg:邮件内容,注意 msg 的格式。这个格式就是 smtp 协议中定义的格式
#启用TLS(安全)模式,所有的SMTP指令都将加密传输
SMTP.starttls()
#断开与SMTP服务器的连接
SMTP.quit()

email模块说明

email模块:支持发送的邮件内容为纯文本、HTML、图片、附件等,有如下几大类:
1、MIMEText:媒体类型为纯文本、HTML页面
2、MIMEImage:内容形式为图片
3、MIMEMultupart:多形式组合,可包含文本和附件

导入方式分别为:
1、MIMEText:from email.mime.text import MIMEText
2、MIMEImage: from email.mime.image import MIMEImage
3、MIMEMultupart:from email.mime.multipart import MIMEMultipart
MIMEText语法:
MIMEText(msg,type,charset)
msg:文本内容
type:文本类型默认为plain,当发送HTML格式需要修改为HTML
charset:建议utf-8
# 构造msg内容格式

 msg = MIMEText("this is a test for python","plain","utf-8")
 msg["Subject"] = "xxxxx"
  msg["From"] = "xxxx"
  msg["To"] = "xxxx"

纯文本格式邮件小案例:

# -*- coding: utf-8 -*-
import smtplib
from email.mime.text import MIMEText

sender = 'xxxxxxxx'    #定义邮件发送着
receiver = 'xxxxxxx'     #定义邮件接收者,当有多个邮件接受者时,可以定义为列表
#receiver =['xxxxxxx']   #
smtp_server = 'smtp.163.com'      #定义邮件服务器
password = 'xxxxxxxxxx'     #smtp服务器授权码,在发件者客户端开启设置,复制授权码

#定义邮件内容,格式需要符合smtp协议格式,如下:
msg = MIMEText('this is a test for python','plain','utf-8')
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = 'Test For Python'

#定义邮件发送对象
Server = smtplib.SMTP()

#连接到SMTP服务器
Server.connect(smtp_server,'25')

#开启TLS安全传输模式
Server.starttls()

#登录SMTP服务器验证授权码
Server.login(sender,password)

#打印出和SMTP服务器交互的所有信息
Server.set_debuglevel(1)

#发送邮件
Server.sendmail(sender,receiver,msg.as_string())

#关闭连接通道
Server.quit()

效果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值