zoukankan      html  css  js  c++  java
  • 基于flask的邮件服务

    一、需求:

    刚入职时,接到研发部的一个需求,需要一个邮件服务,作为研发日常工作中邮件发送的统一入口,于是想到可以基于flask写一个。

    二、代码:

    具体代码可参考如下git地址:
    https://github.com/f1017746640/fmax.git

    个人博客站点:

    http://www.fengzhihai.cn/

    三、接口测试:

    接口测试的代码也在git库中。
    3.1 没有附件:

    #!/usr/bin/env python
    # encoding: utf-8
    """
       > FileName: mailapi.py
       > Author: FZH
       > Mail: fengzhihai@xxx.cn
       > CreatedTime: 2020-03-22 13:20
    """
    import os
    import requests
    
    url = "http://127.0.0.1:5000/fmax"
    
    def mail_send():
        data = {'mail_to': 'fengzhihai@xxx.cn',
                'mail_title': 'TEST_TITLE',
                'mail_body': '接口更新完毕'}
        files = []
        response = requests.request("POST",
                                    url,
                                    data=data,
                                    files=files)
        return response.text.encode('utf8')
    
    if __name__ == '__main__':
        mail_send()

    测试结果:

    3.2 有附件:

    #!/usr/bin/env python
    # encoding: utf-8
    """
       > FileName: mailapi.py
       > Author: FZH
       > Mail: fengzhihai@xxx.cn
       > CreatedTime: 2020-03-22 13:20
    """
    import os
    import requests
    
    url = "http://127.0.0.1:5000/fmax"
    
    def mail_send_append():
        data = {'mail_to': 'fengzhihai@xxx.cn',
                'mail_title': 'TEST_TITLE',
                'mail_body': '接口更新完毕'}
    
        des_file = os.path.join(os.path.dirname(__file__),
                                'fmax.xlsx')
        files = {'file': open(des_file, 'rb')}
        headers = {
          'Content-Type': 'multipart/form-data'
        }
        response = requests.request("POST",
                                    url,
                                    data=data,
                                    files=files)
        return response.text.encode('utf8')
    
    if __name__ == '__main__':
        mail_send_append()

    测试结果:

  • 相关阅读:
    nodejs利用windows API读取文件属性(dll)
    nodejs调用delphi编写的dll
    Ubuntu 安装配置Jenkins
    electron将网站打包成桌面应用
    NW.js将网站打包成桌面应用
    Jenkins配置邮件SMTP(使用QQ邮箱)
    Jenkins搭建Nodejs自动化测试
    Ubuntu 安装node.js
    使用superobject 解析Json数据
    使用superobject 新建Json数据(数组)
  • 原文地址:https://www.cnblogs.com/fengzhihai/p/12545937.html
Copyright © 2011-2022 走看看