使用SendGrid发送电子邮件

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

因为努力和真诚,有更多的客户和我们聚集在一起,为了共同目标,成都创新互联公司在工作上密切配合,从创业型企业到如今不断成长,要感谢客户对我们的高要求,让我们敢于面对挑战,才有今天的进步与发展。从网站到微信小程序定制开发,软件开发,成都App定制开发,十多年企业网站建设服务经验,为企业提供网站设计,网站改版维护一条龙服务.为企业提供网络营销推广,定制网站制作,原创设计,十多年品质,值得您的信赖.

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

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

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

    使用SendGrid发送电子邮件

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

    使用SendGrid发送电子邮件

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

    使用SendGrid发送电子邮件

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

    使用SendGrid发送电子邮件

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

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

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

    使用SendGrid发送电子邮件

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

    使用SendGrid发送电子邮件

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

    使用SendGrid发送电子邮件

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

    使用SendGrid发送电子邮件

    编写Python代码

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

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

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

    setx SENDGRID_API_KEY "YOUR_API_KEY"

    使用SendGrid发送电子邮件

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

    使用SendGrid发送电子邮件

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

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))

    

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

    使用SendGrid发送电子邮件

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

    使用SendGrid发送电子邮件


分享标题:使用SendGrid发送电子邮件
标题网址:http://azwzsj.com/article/pgechg.html