您的位置:首页 > 编程语言 > Python开发

python学习-调用邮件接口发送邮件

2019-02-18 18:07 351 查看

一、需求

每日发送服务器利用率信息,通过邮件方式发到指定联系人

二、分享脚本内容如下

#!/usr/bin/env python
#-*-coding:utf-8-*-
import sys
from urllib import urlencode
from httplib2 import Http

reload(sys)
sys.setdefaultencoding("utf-8")
with open('test1.html','r') as f1:
message = f1.read()
def send_mail(mail_to, subject, msg_txt):h = Http()
data=dict(
tos=mail_to,
content=msg_txt,
subject=subject,
format="html"
)
headers = {'Content-type': 'application/x-www-form-urlencoded'}resp, content = h.request("http://proxy.xxxx.com:1925/api/mail", "POST", body=urlencode(data), headers=headers)
print "Send mail: %s"  % content#print data
return True

send_mail("lvbin01@zuoyebang.com", 'test subject', '%s' % message)

三、说明

reload(sys)
sys.setdefaultencoding("utf-8")

支持中文

with open('test1.html','r') as f1:
message = f1.read()

这句是打和脚本通目录下的test1.html文件,赋值给message这个变量

def send_mail(mail_to, subject, msg_txt):

定义send_mail函数,该函数需要三个参数,包括mail_to:收件人, subject:主题, msg_txt:邮件内容

h = Http()
data=dict(
tos=mail_to,
content=msg_txt,
subject=subject,
format="html"
)

定义一个Http方法赋值给h
定义data内容几个,包括tos:收件人、content:邮件内容、subject:主题,格式为:html

headers = {'Content-type': 'application/x-www-form-urlencoded'}

定义header内容

resp, content = h.request("http://proxy.xxxx.com:1925/api/mail", "POST", body=urlencode(data), headers=headers)
print "Send mail: %s"  % content

请求邮件接口,一共四个参数,分别是接口地址、方法POST,内容是data定义的内容,请求头信息
打印content返回值内容,如有需要可以打印resp返回头信息

send_mail("lvbin01@zuoyebang.com", 'test subject', '%s' % message)

调用send_mail函数,传入三个参数:收件人、邮件主题、邮件内容

四、运行脚本

# python test_mail2.py
content的内容是: {"status":0,"msg":"ok"}
resp的内容是: {'date': 'Mon, 18 Feb 2019 10:05:05 GMT', 'status': '200', 'content-length': '23', 'content-type': 'text/plain; charset=utf-8'}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: