Azure Function에서 SendGrid 바인딩을 사용하여 메일 보내기
준비하는 것
설정 절차
Azure Function의 App Setting에 SendGrid의 API Key 추가
미리 얻은 SendGrid의 API Key를 Function에서 사용할 수 있도록 포털에서 App Settings를 추가. 예를 들어 SendGridAPIKey
로 추가합니다.
func 명령으로 Function 만들기
트리거는 무엇이든 좋기 때문에 우선 만들어 보자.func function new
명령은 대화식으로 새 Function을 작성할 수 있습니다.
여기서는 간단한 HTTP 트리거로 만들었습니다.
$ func function new
Select a language:
1. C#
2. JavaScript
Choose option: 2
JavaScript
Select a template:
1. BlobTrigger
2. HttpTrigger
3. QueueTrigger
4. TimerTrigger
Choose option: 2
HttpTrigger
Function name: [HttpTriggerJS] SendEmail
Writing /Users/tatsuya.b.sato/Projects/private/myfunctions/SendEmail/index.js
Writing /Users/tatsuya.b.sato/Projects/private/myfunctions/SendEmail/sample.dat
Writing /Users/tatsuya.b.sato/Projects/private/myfunctions/SendEmail/function.json
function.json에 SendGrid 바인딩 추가
SendEmail/function.json{
"disabled": false,
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req"
},
{
"name": "$return",
"type": "sendGrid",
"direction": "out",
"apiKey": "SendGridAPIKey",
"subject": "Test from Azure Function!",
"text": "Hi, Azure Function!"
}
]
}
바인딩에 대한 자세한 내용은 문서을 참조하십시오.
Function을 쓴다.
HTTP 트리거로 지정된 메일 주소에 메일을 보내는 Function을 써 보자.
SendEmail/index.jsmodule.exports = function (context, req) {
var email = req.query.email;
var message = {
personalizations: [
{ to: [ { email: email } ] }
],
from: { email: "[email protected]" }
};
context.done(null, message);
};
배포
git이나 FTP로 배포하면 완료.
위의 예라면 HTTP URL 매개 변수에 [email protected]
와 같이 대상을 지정하여 보낼 수 있습니다.
여기에서는 간편함을 위해 HTTP 트리거를 사용했지만 어디서나 누구나 사용할 수 버리는 것은 위험하기 때문에 업무에서는 Queue 트리거 등 적절한 방법으로 전환합시다.
SendGrid 의 메세지로서 지정할 수 있는 JSON 의 값은, 분명히 v3 Mail Send 같습니다.
참고
$ func function new
Select a language:
1. C#
2. JavaScript
Choose option: 2
JavaScript
Select a template:
1. BlobTrigger
2. HttpTrigger
3. QueueTrigger
4. TimerTrigger
Choose option: 2
HttpTrigger
Function name: [HttpTriggerJS] SendEmail
Writing /Users/tatsuya.b.sato/Projects/private/myfunctions/SendEmail/index.js
Writing /Users/tatsuya.b.sato/Projects/private/myfunctions/SendEmail/sample.dat
Writing /Users/tatsuya.b.sato/Projects/private/myfunctions/SendEmail/function.json
{
"disabled": false,
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req"
},
{
"name": "$return",
"type": "sendGrid",
"direction": "out",
"apiKey": "SendGridAPIKey",
"subject": "Test from Azure Function!",
"text": "Hi, Azure Function!"
}
]
}
module.exports = function (context, req) {
var email = req.query.email;
var message = {
personalizations: [
{ to: [ { email: email } ] }
],
from: { email: "[email protected]" }
};
context.done(null, message);
};
Reference
이 문제에 관하여(Azure Function에서 SendGrid 바인딩을 사용하여 메일 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sato_ryu/items/30267d709d42b1d69aa4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)