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

一、需求

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

二、分享脚本内容如下
#!/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'}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值