kintone에서 SendGrid 플러그인을 사용하여 이메일 보내기

개요



Hackason과 같은 사용 장면에서 kintone의 입력 내용을 쉽게 메일 보내는 방법을 조사했습니다.
그 결과 Azure Marketplace의 SendGrid와 SendGrid for kintone 플러그인을 사용하여 쉽고 빠르게 구현할 수 있습니다.

SendGrid 설정



Azure 계정 만들기



아래의 웹페이지 등을 참고로 계정을 작성합니다.
【Azure 입문①】Azure의 시작 방법~계정 작성~
htps : // 엔기 네에 r이되고 싶다. 코 m / 아즈레 호 w와 - s rt /

SendGrid 준비



아래 웹 페이지 등을 참조하여 Azure의 Marketplace에서 SendGrid의 Free 계획에서 계정을 만듭니다.
Azure에서 SendGrid를 사용하여 이메일 보내기(5분)
htps : // 이 m / y- 아라키 - 쿠 / / ms / 3c353 339fd5c0b0231

SendGrid는 구조 계획 연구소를 통해 다음 사이트에서도 신청할 수 있지만 Azure의 Marketplace에 비해 계정 작성이 느려집니다.
htps : // 선 dg 리 d. 케케. 이. jp/

SendGrid API KEY 설정



SendGrid 로그인 계정이 생성되면 다음에 액세스(로그인)합니다.
htps : // 어 p. 전선 dg 리 d. 코 m/세친 gs/아피_케 ys
오른쪽 상단의 'Create API Key' 버튼으로 다음 화면을 엽니다.

"API Key Name"을 입력하고 "API Key Permissions"는 "Full Access"를 선택하고 "Create & View"버튼으로 다음 화면으로 진행합니다.

API Key가 표시되므로 이 API Key를 삼가해 둡니다.

킨톤 설정



kintone 플러그인 설치



아래 웹 페이지의 중간에있는 "패키지 만들기""sendgrid_plugin.zip"의 링크에서 파일을 다운로드하십시오.
SendGrid API를 사용하여 이메일을 보내는 플러그인을 만들어 봅시다.
htps : //로 ゔぇぺぺr. cy 흐림. 이오/hc/쟈/아르치 cぇs/206584633

kintone의 관리자 계정으로 로그인하여 다운로드한 파일을 다음과 같이 설치합니다.
파일에서 읽고 설치
htps : // jp. cy 흐림. 에 lp/k/그럼/아d민/sys m_쿠s와 미자치온/아 d_pㅅ진/pㅅ진. html # ㄱ d_p ㅅ 긴_ p ㎅ 긴_20

kintone 앱 추가



kintone 앱을 처음부터 만들고 필드를 다음과 같이 설정합니다.


필드 이름
유형
피드 코트 요소 ID


TO
문자열(1행)
to

FROM
문자열(1행)
from

SUBJECT
문자열(1행)
subject

BODY
문자열(1행)
body




kintone 앱 플러그인 설정



앱 설정의 '플러그인'을 열고 '플러그인 추가'에서 다음 'SendGrid for kintone'을 추가합니다.

플러그인이 추가되면 설정을 열고 이전에 얻은 SendGrid API KEY를 설정합니다.


kintone 앱에 JavaScript 파일 추가



"SendGrid for kintone"플러그인은 일반 플러그인처럼 플러그인 설정만으로 메일을 보낼 수 없습니다.
메일 전송은 kintone JavaScript의 kintonePlugin.sendgrid.sendMail()에 적절한 인수를 설정하여 전송합니다.
다만, 비동기 처리에서는 메일 송신의 성공 여부를 확인할 수 없기 때문에, kintone.Promise() 로 동기 처리로 구현합니다.

다음은 kintone에서 레코드 추가 및 업데이트를 제출할 때 메일을 보내고 오류가 발생하면 오류를 표시하는 예제 구현입니다.

sendMail.js
(function() {
    "use strict";

    // 追加・変更処理イベント
    var submitSuccessEvents = [
        "app.record.create.submit", 
        "app.record.edit.submit"
    ];
    kintone.events.on(submitSuccessEvents, function(event) {
        return new kintone.Promise(function(resolve, reject) {

            // kintoneのSendGridプラグインに引数を渡してメールを送信する
            kintonePlugin.sendgrid.sendMail(
                event.record.to.value,
                null, 
                null, 
                event.record.from.value,
                event.record.subject.value, 
                event.record.body.value,  
                null,
            function(resp) {
                var json = JSON.parse(resp);
                if(json.message != "success"){
                    event.error = 'メール送信に失敗しました';
                    reject(event);
                }
                resolve(event);
            }, function() {
                event.error = 'メール送信に失敗しました';
                reject(event);
            });

        });
    });

})();

결과



kintone 앱에서 다음 내용으로 레코드를 저장했습니다.

아래와 같이 메일 수신을 확인했습니다.

kintone의 BODY의 개행이 반영되어 있지 않기 때문에, JavaScript내에서 대응이 필요하게 될 것 같습니다.

Gmail에는 'sendgrid.me을 통해'이 표시됩니다. DKIM의 도메인 sendgrid.me과 To 주소의 도메인이 다르기 때문입니다.
메일 헤더 정보 DKIM-Signature에 "d=sendgrid.me"가 있고 SendGrid를 통해 확인할 수 있습니다.

참고



【Azure 입문①】Azure의 시작 방법~계정 작성~
htps : // 엔기 네에 r이되고 싶다. 코 m / 아즈레 호 w와 - s rt /

Azure에서 SendGrid를 사용하여 이메일 보내기(5분)
htps : // 이 m / y- 아라키 - 쿠 / / ms / 3c353 339fd5c0b0231

SendGrid API를 사용하여 이메일을 보내는 플러그인을 만들어 봅시다.
htps : //로 ゔぇぺぺr. cy 흐림. 이오/hc/쟈/아르치 cぇs/206584633

좋은 웹페이지 즐겨찾기