sendgrid html text,使用SendGrid发送电子邮件

使用SendGrid发送电子邮件

发布时间:2020-03-03 19:16:51

来源:51CTO

阅读:339

作者:mxy00000

栏目:云计算

我们继续来看Azure Global的一些服务,这次来看下Azure中可以用来发邮件的服务,Azure中其实没有明确可以用来发邮件的服务,因为微软本来就有O365能做这个事,但是像发送告警邮件这类的操作仍然可以直接借用Azure中的内置功能来实现,但是如果是单独发送邮件,比如用来做系统的通知邮箱,给用户发一些邮件消息等,这类操作就没办法用Azure的服务来做了,但是Azure中其实不光提供微软自己的服务,还有成千上万的第三方厂商的服务可以使用,今天就来介绍下Azure Global的一项第三方服务SendGrid

SendGrid可以用来当做一个普通的Mail Server来用,在Azure中使用SendGrid也非常简单,今天就来演示下在Azure中创建SendGrid账户,并用Python来发邮件的操作

首先第一步,来看SendGrid的创建

直接在Azure Global中搜索SendGrid,填写一些基本的信息就可以创建SendGrid账号了,注意这里的Pricing Tier,我们选择的是Free,Free级别可以每个月免费发送25000封邮件

bf4daed9a1ace1e340eb2aea57b10c85.png

创建的过程很快,正常1分钟之内即可,创建完成后,在overview界面,点击manage进行SendGrid的管理,

1a0dcef731d6b5f881434b9cdef54d12.png

之后即可跳转到SendGrid的管理界面,在这里我们选择右上角的Account Details,这主要是为了查看我们账号的Email Address,没有Email Address的话我们就没办法发邮件

f51300fb0e0b9bfb47e67b756eb04cc2.png

这里就能看到我们自己的邮件地址了

84fe1deb30b4a8a20e2a51621cca0041.png

接下来,我们就来看怎么发邮件

发邮件其实SendGrid提供了多种方式,最简单的就是通过Web API的方式,发送邮件前,首先我们需要先获取我们的Key,SendGrid验证用户身份不是靠之前填写的password,而是通过API的Key来判断的

所以首先需要先setup好我们的key,选择Web API

136289f580ba2e5002904a9cc4555f11.png

SendGrid提供针对多种语言的API,我们这里选择Python,之后就来演示下怎么用Python通过SendGrid发邮件

b7b5bdc77d179b132613ab42c95e7ebc.png

之后,我们直接create key来创建一个密钥

7331b055916f92adde9959cff8fec67e.png

密钥的形式是一长串的字符串,把字符串保存好

26b14c2a24f5fd6ff1a51b302df56b74.png

编写Python代码

最后,我们通过编写Python代码调用API来进行邮件的发送,首先先来安装SendGrid的python的module

module可以直接通过Pip install安装pip install sendgrid

之后我们通过把key存储到系统的环境变量里

setx SENDGRID_API_KEY "YOUR_API_KEY"

f29a6dc12f9624b28a29a455179fad7a.png

存储完成后可以直接在PowerShell里读到这个key值,这样就算完成了

7e9516715a0ca2cb760b41b4b3cad7a7.png

之后就可以编写代码来尝试邮件的发送了import os

from sendgrid import SendGridAPIClient

message = {

'personalizations': [

{

'to': [

{

'email': 'xxx@xxx.com'

}

],

'subject': 'Test Send Grid'

}

],

'from': {

'email': 'azure_xxxxxs@azure.com'

},

'content': [

{

'type': 'text/html',

'value': 'This is an email from sendgrid'

}

]

}

try:

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

response = sg.send(message)

print(response.status_code)

print(response.body)

print(response.headers)

except Exception as e:

print(str(e))

这里的邮件地址替换成需要的即可

4f07547da3df78c413bb46f79fee4733.png

发送完成后,就可以收到邮件了!总体来说还是很简单的,如果不是太复杂的需求,对于成本又有一定的考量,完全可以考虑这种方式

cee7c55f320a715a3599638cd2dce3c8.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值