我们最近发布了Cosmic Functions (公开测试版)。 我们很高兴能帮助团队构建出色的现代产品以及新的无服务器解决方案。

在这个简短的教程中,我将向您展示如何启动并运行SendGrid电子邮件功能,以通过SendGrid发送电子邮件(以查看更多示例功能登录并进入“ 存储桶”>“设置”>“功能” )。

部署功能

1.安装功能

要安装SendGrid功能,请转至您的存储桶>设置>功能 ,找到SendGrid功能,然后单击“安装功能”。

2.添加密钥,然后部署

安装该功能后,您将被重定向到页面以添加您的AWS凭证和环境变量。 请按照以下步骤添加您的AWS信誉(如果您没有方便的话)。

转到您的SendGrid帐户,然后在“设置”>“ API密钥”中找到您的API 密钥 (您可能需要创建一个新密钥 ),并将其作为值添加到SENDGRID_API_KEY。

一旦添加了密钥,请单击“部署功能”,一分钟后,您的功能将被部署并准备接受请求。

编写网络联系表

接下来,让我们创建一个联系表来访问新部署的端点。 请按照以下步骤安装React Starter :

npm i -g cosmic-cli
cosmic init react-starter
cosmic develop

现在转到您的应用程序代码库,转到位于pages / default.js中的默认页面组件,然后将其编辑为如下所示:

import React from 'react'
import Router from 'next/router'
import bucket from '../config'
import Page from '../components/page'
import PageNotFound from '../components/404'
import Header from '../components/header'
import Footer from '../components/footer'
import Nav from '../components/nav'
class DefaultPage extends React . Component  {static async getInitialProps({ req, query }) {let slug = query.slugif (!slug)slug = 'home'let pagetry {const res = await bucket.getObject({ slug })page = res.object} catch (e) {page = {title : 'Page not found' ,component : '404'}}return { page }}handleSubmit(e) {e.preventDefault()const email = e.target.email.valueconst first_name = e.target.first_name.valueconst last_name = e.target.last_name.valuevar url = 'https://your-cosmic-function-endpoint-here.lambda.aws.com' // ADD YOUR ENDPOINT HEREvar data = {to : 'your_email@gmail.com' , // EDIT THIS TO YOUR EMAILfrom : email,subject : `Contact form submission: ${first_name} ${last_name} ` ,text_body : `Contact form submission: ${first_name} ${last_name} ` ,html_body : `Contact form submission: <br /><b> ${first_name} ${last_name} </b><br /> ${email} `}fetch(url, {method : 'POST' ,body : JSON .stringify(data),headers :{'Content-Type' : 'application/json'}}).then( res => res.json()).then( response => console .log( 'Success:' , JSON .stringify(response))).catch( error => console .error( 'Error:' , error));}render() {return (< div > <Header page={ this.props.page }/><div className="main">{this.props.page.component && this.props.page.component==='404' ? (<PageNotFound />) : (<Page page={this.props.page} />)}<Nav /><form onSubmit={this.handleSubmit}><div><input type="email" name="email" placeholder="Email"/></div><div><input type="text" name="first_name" placeholder="First Name"/></div><div><input type="text" name="last_name" placeholder="Last Name"/></div><div><button type="submit">Send Email</button></div></form></div><Footer /></div>);}
}export default DefaultPage

请注意以下几点:

1.我们添加了一个form元素来接受电子邮件,名字和姓氏的输入。
2.我们添加了handleSubmit方法来处理表单提交,该提交采用表单的值并将数据发送到我们的Cosmic Function端点。

就是这样! 现在,我们有了一个端点,该端点从表单接收数据并将其发送到SendGrid API进行处理。

好处

更少的代码

我们不必担心在我们的应用程序中构建API端点来将数据发送到SendGrid。

更少的配置麻烦

我们不必担心配置麻烦,例如可能会泄露客户端的密钥。 我们不必与其他任何人共享API密钥,只需与端点共享即可。 Config在Cosmic Function中作为环境变量处理。

可重用

我们可以在需要发送电子邮件的任何其他应用程序中使用此端点。

希望您喜欢SendGrid函数的快速浏览,现在可以进行安装和部署了(转到“ 存储桶”>“设置”>“函数” )。 如果您有任何疑问或意见,请告诉我。 在Twitter上与我们联系,并加入我们的Slack社区 。

From: https://hackernoon.com/sending-emails-with-the-sendgrid-cosmic-function-bcf0e42035ff

使用SendGrid宇宙函数发送电子邮件相关推荐

  1. sendgrid_使用SendGrid宇宙函数发送电子邮件

    sendgrid 我们最近发布了Cosmic Functions (公开测试版). 我们很高兴能帮助团队构建出色的现代产品以及新的无服务器解决方案. 在这个简短的教程中,我将向您展示如何启动并运行Se ...

  2. 小程序利用云函数发送电子邮件功能详解

    今天分享一个小功能代码,小程序通过云函数发送电子邮件的功能,上学那会觉得邮箱没啥用了,都快淘汰了的东西,但是现在发现还是有点用处的,印象比较深的就是有一个程序,可以给十年后的自己写邮件,如果大家掌握了 ...

  3. wordpress发邮件_如何修复WordPress不发送电子邮件的问题

    wordpress发邮件 One of the most commonly asked questions on WPBeginner is how to fix WordPress not send ...

  4. php mail函数_PHP发送电子邮件函数mail详解

    重要:本文最后更新于2019-10-09 08:49:07,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗. PHP作为一门使用广泛的脚本语言,经过这么多年发展已经非常完善了,发送电子 ...

  5. sendgrid java_java – SendGrid电子邮件API,发送电子邮件附件

    我使用sendgrid发送电子邮件,使用以下代码工作正常 但它没有附件. package sendgrid; import com.sendgrid.Content; import com.sendg ...

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

    使用SendGrid发送电子邮件 发布时间:2020-03-03 19:16:51 来源:51CTO 阅读:339 作者:mxy00000 栏目:云计算 我们继续来看Azure Global的一些服务 ...

  7. 亚马逊ses如何发qq_使用Amazon SES发送电子邮件

    亚马逊ses如何发qq by Kangze Huang 黄康泽 使用Amazon SES发送电子邮件 (Sending emails with Amazon SES) 完整的AWS Web样板-教程3 ...

  8. 如何使用PHP发送电子邮件?

    本文翻译自:How to send an email using PHP? I am using PHP on a website and I want to add emailing functio ...

  9. php发送邮件,标题是乱码,php的mail函数发送UTF-8编码中文邮件时标题乱码怎么办?...

    php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法:1.将subject里头的文字符合RFC 2047的规范:2.在headers中添加[content-type]:3.对用来发送邮件 ...

最新文章

  1. JVM的堆、栈、方法区
  2. MyCat好的博文收集
  3. 《.NET 性能优化》送书活动结果公布
  4. GC:垃圾回收机制及算法
  5. vue 自定义指令(directive)实例
  6. webview img照片旋转_Python图像处理,照片去色、翻转、模糊、缩略图统统搞定
  7. jmeter java 关联_使用Jmeter进行数据关联和并发用户
  8. Flink读取Kafka报错:KafkaException ByteArrayDeserializer is not an instance Deserializer
  9. 聊聊代码质量 - 《学得会,抄得走的提升前端代码质量方法》前言
  10. python_爬虫_模块
  11. 拓端tecdat|R语言改进的股票配对交易策略分析SPY-TLT组合和中国股市投资组合
  12. 网络TDR测试软件,tdr测试的原理及方法介绍
  13. ubuntu彻底卸载Nvidia显卡驱动
  14. 五子棋c语言程序人人对战,C语言 AI智能,五子棋 人机对战,人人对战
  15. CodeSniffer使用教程
  16. 大数据的核心价值是什么
  17. unity怎么制作云飘动_【Unity3D】实现云循环漂浮效果
  18. 移植tslib后,运行报错 Couldnt load module linear
  19. 语法规范:BNF与ABNF 巴斯克范式
  20. 二手房数据的分析与挖掘(七)-- 预测房价

热门文章

  1. CSS3实现流星动画
  2. LInux:进程等待之wait() waitpid()
  3. nginx、php-fpm以及mysql运行在各个用户下的配置
  4. LPC1768 IAR环境下使用完整64K内存的方法
  5. 51单片机+LCD12864的万年历Proteus仿真
  6. DNA甲基化测序数据的分析流程及相关软件总结
  7. 易基因|综合DNA甲基化测序揭示前列腺癌死亡率的预后表观遗传生物标志物 | 文献速递
  8. 与二次元老婆邂逅的游戏的创建过程(一)
  9. 宠物行业新锐宠胖胖APP联手麻花特开心正式出道
  10. Java 专项练习【1 - 10】,突围金三银四面试季