24小时网站建设,手机网站乱弹,财务记账网站建设需要摊销吗,做得好的营销网站1. 引言本文将带你快速基于 Azure Function 和 SendGrid 构建一个免费的Serverless#xff08;无服务器#xff09;的邮件发送服务#xff0c;让你感受下Serverless的强大之处。该服务可以每月免费发送2,5000封#xff0c;这是完全白嫖啊#xff0c;感兴趣的#xff0c;赶… 1. 引言本文将带你快速基于 Azure Function 和 SendGrid 构建一个免费的Serverless无服务器的邮件发送服务让你感受下Serverless的强大之处。该服务可以每月免费发送2,5000封这是完全白嫖啊感兴趣的赶紧动起你的小手爪噼里啪啦搞起来呀。2. 创建 SendGrid 账号你要有一个Azure账号没有的话花几分钟自行注册一个就好。(我的账号注册在香港区域)咱们先来创建一个SendGrid Accounts如下图所示。点击SendGrid Accounts后再点击创建SendGrid account。填写完毕后点击ReviewCreate稍等片刻提示部署成功那么恭喜你可以接着往下玩耍了。如果部署失败可能会因为SendGrid屏蔽了某些区域的账号创建就只能重新注册个Azure账号玩耍了。紧接着前往刚刚创建的SendGrid Account点击Manage会跳转至SendGrid管理面板。打开后会要求你进去邮件验证自行前往邮箱验证即可。点击API Keys然后点击Create API Key填写API Key Name选择 Full Access点击CreateView记下生成的API Key后面需要用到。3. 创建第一个函数应用回到Azure控制台然后搜索函数应用。打开后点击添加按以下图示进行创建。其中务必选择以代码发布承载的操作系统选择Windows。创建成功后转到资源如下图所示依次点击函数添加选择HTTP trigger模板填写函数名称然后指定身份验证级别。点击创建创建成功后跳转到函数页面点击获取函数URL粘贴URL到浏览器就可以访问到你创建的第一个函数应用。点击代码测试就可以看到模板代码如下图所示从截图来看这个和C#的语法并无太大差别官方称为C#脚本。紧接着替换 run.csx为以下代码并点击保存//run.csx
#r Newtonsoft.Json
#r SendGrid
using System.Net;
using Microsoft.Azure.WebJobs.Host;
using SendGrid.Helpers.Mail;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
public static SendGridMessage Run(Email req, ILogger log)
{var reqStr JsonConvert.SerializeObject(req);log.LogInformation(reqStr);var message new SendGridMessage();message.AddTo(req.To);message.AddContent(text/html, req.Body);message.SetFrom(new EmailAddress(req.From));message.SetSubject(req.Subject);return message;
}
public class Email
{public string To { get; set; }public string From { get; set; }public string Subject { get; set; }public string Body { get; set; }
}
然后修改 function.json中的配置如下并保存。{bindings: [{authLevel: function,name: req,type: httpTrigger,direction: in,methods: [get,post]},{type: sendGrid,name: $return,direction: out,apiKey: SendGridAPIKeyAsAppSetting}]
}
注意观察配置项中需要指定 apiKey就是我们上面创建SendGrid Account 中对应的ApiKey。回到上面创建的Azure Function 应用服务然后按下图添加上面发邮件函数需要的配置项如下所示。添加完毕后再回到函数中就可以测试运行了如下图所示查收邮件你将收到来自Azure Function SendGrid 的免费问候。当然也可以通过Postman自行验证4.最后通过以上的连环操作相信你不仅成功薅了一把微软的羊毛而且顺带对Serverless也有了一定的认知。如果对Azure Function感兴趣的不妨参考[官方文档https://docs.microsoft.com/en-us/azure/azure-functions/]研究一番相信你会发掘不少玩法顺便再薅它几把羊毛哈哈哈