咱們繼續來看Azure Global的一些服務,此次來看下Azure中能夠用來發郵件的服務,Azure中其實沒有明確能夠用來發郵件的服務,由於微軟原本就有O365能作這個事,可是像發送告警郵件這類的操做仍然能夠直接借用Azure中的內置功能來實現,可是若是是單獨發送郵件,好比用來作系統的通知郵箱,給用戶發一些郵件消息等,這類操做就沒辦法用Azure的服務來作了,可是Azure中其實不光提供微軟本身的服務,還有成千上萬的第三方廠商的服務可使用,今天就來介紹下Azure Global的一項第三方服務SendGrid
html
SendGrid能夠用來當作一個普通的Mail Server來用,在Azure中使用SendGrid也很是簡單,今天就來演示下在Azure中建立SendGrid帳戶,並用Python來發郵件的操做
python
首先第一步,來看SendGrid的建立
ide
直接在Azure Global中搜索SendGrid,填寫一些基本的信息就能夠建立SendGrid帳號了,注意這裏的Pricing Tier,咱們選擇的是Free,Free級別能夠每月免費發送25000封郵件
3d
建立的過程很快,正常1分鐘以內便可,建立完成後,在overview界面,點擊manage進行SendGrid的管理,
code
以後便可跳轉到SendGrid的管理界面,在這裏咱們選擇右上角的Account Details,這主要是爲了查看咱們帳號的Email Address,沒有Email Address的話咱們就沒辦法發郵件
htm
這裏就能看到咱們本身的郵件地址了
blog
接下來,咱們就來看怎麼發郵件
ip
發郵件其實SendGrid提供了多種方式,最簡單的就是經過Web API的方式,發送郵件前,首先咱們須要先獲取咱們的Key,SendGrid驗證用戶身份不是靠以前填寫的password,而是經過API的Key來判斷的ci
因此首先須要先setup好咱們的key,選擇Web API
字符串
SendGrid提供針對多種語言的API,咱們這裏選擇Python,以後就來演示下怎麼用Python經過SendGrid發郵件
以後,咱們直接create key來建立一個密鑰
密鑰的形式是一長串的字符串,把字符串保存好
編寫Python代碼
最後,咱們經過編寫Python代碼調用API來進行郵件的發送,首先先來安裝SendGrid的python的module
module能夠直接經過Pip install安裝pip install sendgrid
以後咱們經過把key存儲到系統的環境變量裏
setx SENDGRID_API_KEY "YOUR_API_KEY"
存儲完成後能夠直接在PowerShell裏讀到這個key值,這樣就算完成了
以後就能夠編寫代碼來嘗試郵件的發送了
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': '<html>This is an email from sendgrid</html>' } ] } 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))
這裏的郵件地址替換成須要的便可
發送完成後,就能夠收到郵件了!整體來講仍是很簡單的,若是不是太複雜的需求,對於成功又有必定的考量,徹底能夠考慮這種方式