Python中sendgrid库使用

#帮助文档https://github.com/sendgrid/sendgrid-python

https://sendgrid.com/docs/ui/account-and-settings/

https://sendgrid.api-docs.io/v3.0/mail-send/v3-mail-send

1、注册

https://sendgrid.com/注册账号,选择语言类型,创建api-keys。

2、开发环境keys值设定

把创建的keys值放进去。开发环境的shell

Mac

Update the development environment with your SENDGRID_API_KEY (more info here), for example:

echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env

echo "sendgrid.env" >> .gitignore

source ./sendgrid.env

Sendgrid also supports local environment file .env. Copy or rename .env_sample into .env and update SENDGRID_API_KEYwith your key.

Windows

Temporarily set the environment variable(accesible only during the current cli session):

set SENDGRID_API_KEY=YOUR_API_KEY

Permanently set the environment variable(accessible in all subsequent cli sessions):

setx SENDGRID_API_KEY "YOUR_API_KEY"

Install Package

pip install sendgrid

3、测试代码

# using SendGrid's Python Library

# https://github.com/sendgrid/sendgrid-python

import sendgrid

import os

from sendgrid.helpers.mail import *





def verification():

    sg = sendgrid.SendGridAPIClient(apikey=os.environ.get('SENDGRID_API_KEY'))

    from_email = Email("604603701@qq.com")

    to_email = Email("18804928235@163.com")

    subject = "Sending with SendGrid is Fun"

    content = Content("text/plain", "and easy to do anywhere, even with Python")

    mail = Mail(from_email, subject, to_email, content)

    response = sg.client.mail.send.post(request_body=mail.get())

    print(response.status_code)

    print(response.body)

    print(response.headers)





if __name__ == '__main__':

    verification()
# import sendgrid

# import os
# sg = sendgrid.SendGridAPIClient(apikey=os.environ.get('SENDGRID_API_KEY'))

# data = {

#   "personalizations": [

#     {

#       "to": [

#         {

#           "email": "test@example.com"

#         }

#       ],

#       "subject": "Sending with SendGrid is Fun"

#     }

#   ],

#   "from": {

#     "email": "test@example.com"

#   },

#   "content": [

#     {

#       "type": "text/plain",

#       "value": "and easy to do anywhere, even with Python"

#     }

#   ]

# }

# response = sg.client.mail.send.post(request_body=data)

# print(response.status_code)

# print(response.body)

# print(response.headers)

4、Plan

Plan分为三类:

1)、email api

2)、marketing campaigns(营销活动)

3)、email api 和marketing campaigns(两者一起)

5、SMTP

简单邮件传输协议(Simple Mail Transfer Protocol,SMTP) 是在Internet传输email的事实标准

6、SendGridAPIClient参数情况

继承自object。

初始化参数:

apikey: sendgrid需要使用的key。如果未提供的话,会在环境变量中查找。

api_key: sendgrid需要使用的key,提供后面的版本兼容,5.3,后就会被弃用。

impersonate_subuser:模仿subuser账号,底层客户端。

Host:api调用的基本的URL。

Opts:弃用参数的调度员。后面兼容的版本用path参数,在6以后的版本会移除。

7、mail参数

(1)from_email   来自邮箱

(2)subject  主题

(3)to_email   给谁发送

(4)content   正文

(5)get方法

方法里面有多个条件。

字典形式存储邮箱,正文和主题等。

Keys为:personalizations,个性化(里面是元组,元组里面是字典,里面是主题,给谁发送消息),from(来自哪个邮箱),content(正文消息)。

8、email参数

(1)email 邮箱

(2)name 名字

https://sendgrid.api-docs.io/v3.0/mail-send/v3-mail-send

9、headers

Authorization ,string ,1 ,validations,required

10、request body

11、response

400、401、413、 202

Python-sendgrid邮箱库的使用的更多相关文章

  1. python采用pika库使用rabbitmq总结,多篇笔记和示例(转)

    add by zhj:作者的几篇文章参考了Rabbitmq的Tutorials中的几篇文章. 原文:http://www.01happy.com/python-pika-rabbitmq-summar ...

  2. Python底层socket库

    Python底层socket库将Unix关于网络通信的系统调用对象化处理,是底层函数的高级封装,socket()函数返回一个套接字,它的方法实现了各种套接字系统调用.read与write与Python ...

  3. 【C++实现python字符串函数库】strip、lstrip、rstrip方法

    [C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...

  4. 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith

    [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

  5. 【C++实现python字符串函数库】一:分割函数:split、rsplit

    [C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...

  6. python使用cookielib库示例分享

    Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持,下面是使用示例 该模块主要功能是提供可存储cookie的对象.使用此模块捕获 ...

  7. Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED

    Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED 问题描述 使用pip按照virtualenv报错,如下: pip install virtua ...

  8. 【python】标准库的大致认识

    正如那句 Python 社区中很有名的话所说的:“battery included”,Python 的一大好处在于它有一套很有用的标准库(standard library).标准库是随着 Python ...

  9. Python 图形 GUI 库 pyqtgraph

    原文  Python 图形 GUI 库 pyqtgraph pyqtgraph 是纯 Python 图形 GUI 库,基于PyQT4 /pyside和NumPy.它主要目的用于在数学/科学/工程中.M ...

  10. python的urllib2库详细使用说明

    一直以来技术群里会有新入行的同学提问关于urllib和urllib2以及cookielib相关的问题.所以我打算在这里总结一下,避免大家反复回答同样的问题浪费资源. 这篇属于教程类的文字,如果你已经非 ...

随机推荐

  1. 一个http请求的完整详细过程

    整个流程 域名解析: 与服务器建立连接:tcp连接: 发起HTTP请求: 服务器响应HTTP请求,浏览器得到html代码: 浏览器解析html代码,并请求html代码中的资源(如js.css.图片): ...

  2. C++中关于输入cin的一些总结

    (1)cin 在理解cin功能时,不得不提标准输入缓冲区.当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符 ...

  3. Leetcode(28)-实现strStr()

    实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返 ...

  4. Verilog基础语法总结

    去年小学期写的,push到博客上好了 Verilog 的基本声明类型 wire w1; // 线路类型 reg [-3:4] r1; // 八位寄存器 integer mem[0:2047]; // ...

  5. 三、mysql主从复制

    1 MySQL 主从复制 1.1 主从复制的含义 在 MySQL 多服务器的架构中,至少要有一个主节点(master),跟主节点相对的,我们把它叫做从节点(slave). 主从复制,就是把主节点的数据 ...

  6. TypedArray & buffer

    TypedArray & buffer https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Obj ...

  7. js & sort array object

    js & sort array object sort array object in js https://flaviocopes.com/how-to-sort-array-of-obje ...

  8. Python数据结构与算法_反转字符串(08)

    编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题. 你可以 ...

  9. K8s炼气期(一)| minikube安装本地Kubenetes环境

    前言 根据Kubenetes学习路径的七大阶段,炼气期.筑基期.金丹期.元婴期.化神期.炼虚期.大乘期:开始炼气期的第一个小阶段,安装Kubenetes环境. 目录 1.安装kubectl 2.安装m ...

  10. python进阶(2)python最常用的模块

    math math.ceil(a): 用来返回≥a的最小整数 math.floor(a):用来返回≤a的最大整数 round(a [,b]) 如果没有参数b,只有a,round()作用是四舍五入 如果 ...