AWS 단순 이메일 서비스 + 서버리스 Vercel + Node.js 무료로 이메일 배포 및 수신
3949 단어 serverlessnodeawsopensource
우리의 강령은 양식 제출 시 확인 이메일을 보냅니다.
const express = require("express");
const path = require("path");
const bodyParser = require("body-parser");
const app = express();
const port = process.env.PORT || 8080;
app.get("/home", function (req, res) {
res.sendFile(path.join(__dirname, "/index.html"));
});
app.listen(port);
console.log("Server started at http://localhost:" + port);
더 이상 Post Routes가 필요하지 않습니다.
HTML>
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<div>Works!</div>
</body>
</html>
https://us-east-1.console.aws.amazon.com/ses/home?region=us-east-1#/homepage
이메일을 확인해야 합니다.
완료.
<form action="/api/hello" method="POST" style=" padding: 1%;margin-left:25%;width: 50%;">
를 추가해야 합니다./api/hello
는 Vercel에서 Serverless용 엔드포인트입니다.var aws = require("aws-sdk");
export default function hello(req, res) {
const formData = req.body;
console.log(req.body.name);
aws.config.update({
credentials: {
accessKeyId: process.env.AWS_ACCESS_KEY_ID_MYAPP,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY_MYAPP,
},
region: process.env.AWS_REGION_MYAPP,
});
// AWS.config.update({region: });
var params = {
Destination: {
/* required */
CcAddresses: [
"ser****@gmail.com",
/* more items */
],
ToAddresses: [
"serp****@gmail.com",
"[email protected]",
/* more items */
],
},
Message: {
/* required */
Body: {
/* required */
Text: {
Charset: "UTF-8",
Data: `${JSON.stringify(formData)}`,
},
},
Subject: {
Charset: "UTF-8",
Data: "Test email",
},
},
Source: "serp****@gmail.com" /* required */,
ReplyToAddresses: [
"serpu****@gmail.com",
/* more items */
],
};
// Create the promise and SES service object
var sendPromise = new aws.SES({ apiVersion: "2010-12-01" })
.sendEmail(params)
.promise();
// Handle promise's fulfilled/rejected states
sendPromise
.then(function (data) {
console.log(data.MessageId);
res.status(200).send(`Hello Thank you!!`);
})
.catch(function (err) {
console.error(err, err.stack);
});
// res.redirect("/home");
//
}
Vercel 웹사이트에 env 변수를 추가하는 것을 잊지 마십시오.
결론
읽어 주셔서 감사합니다.
연결
🖇 팔로우GitHub
🖇 팔로우
_p.s 이 포스팅은 저의 궁금증으로 작성되었습니다.
Reference
이 문제에 관하여(AWS 단순 이메일 서비스 + 서버리스 Vercel + Node.js 무료로 이메일 배포 및 수신), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/serputov/aws-simple-email-service-serverless-vercel-nodejs-deployreceive-emails-for-free-380h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)