python smtplib使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python smtplib使用相关的知识,希望对你有一定的参考价值。
需要使用python3 都是python自带的模块,不需要单独安装
需求: 获取sms接口得到剩余短信量,将剩余结果发送到邮箱便于续费使用
Python SMTP发送邮件
?? SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
?? python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。
demo案例: http://www.runoob.com/python/python-email.html
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import json
import smtplib
import time
from urllib import request
from email.mime.text import MIMEText
from email.header import Header
urlpath = "html页面地址"
# 获取接口json
with request.urlopen(urlpath) as f:
urljson = f.read().decode("utf-8") # 将其转换为utf8格式
jss = json.loads(urljson) # 默认为str类型, 转换为json格式
# 获取短信的数量
data = jss["data"]["balance"]
HOST = "smtp地址" # 地址
FROM = "发件人地址"
# TO= “收件人” 这样是给单个人发送邮件
# 给多个人发送邮件
TO = ["收件人1", "收件人2", "收件人3"] # 收件人
PassWord = "Gmonitor123456"
Body = "内容: {0}
" "内容
" "内容
" "内容
" "发送时间: {1}" .format(data, time.strftime("%Y-%m-%d", time.localtime()))
message = MIMEText(Body, ‘plain‘, ‘utf-8‘) # 邮件内容
subject = ‘sms剩余{0}‘.format(data) # 邮件主题 注意格式
message[‘Subject‘] = Header(subject, ‘utf-8‘) # 邮件主题
message[‘From‘] = Header(‘研发-运维‘, ‘utf-8‘) # 这里显示发件人的信息
message[‘To‘] = Header(‘devops‘, ‘utf-8‘) # 这里显示收件人的信息,
server = smtplib.SMTP() # 初始化
server.connect(HOST, "25") # snmp连接服务器
server.starttls() # 加密发送
server.login(FROM, PassWord)
server.sendmail(FROM, TO, message.as_string()) # 邮件发送 发件人, 收件人 内容.as_string
server.quit() # 发送完之后退出
最终显示
每天发一封邮件 4点59分 自己随便定一个 crontab
59 4 * /usr/local/bin/python3 /xx/xx/xxSms.py
以上是关于python smtplib使用的主要内容,如果未能解决你的问题,请参考以下文章
编写python的smtplib库发送邮件代码(简洁-原创)