Node.SendGrid로 js에서 메일 보내기

5722 단어 Node.jsSendGrid
오랫동안 SendGrid를 사용하지 않아서 필기를 합니다.

SendGrid 고려 사항

  • 사용자 이름은 메일 주소가 아니라 대리점인 구조계획연구소가 단독으로 분배한 [email protected]
  • 오랜만이에요. 아이디를 까먹었어요.

    준비


    API 키 가져오기


    API KEY가 필요합니다.도착률을 높이기 위해서는 도메인 인증 등 다양한 활동을 하는 것이 좋다.
    API KEY가 설정 중입니다.

    작업장 준비

    mkdir sendmail
    cd sendmail
    touch index.js
    
    npm init -f
    
    npm install --save @sendgrid/mail
    

    실시


    어렵지 않아요.본 사이트는 사용 사례에 대한 소개가 있기 때문에 보면서 설치합니다.
    먼저 Send a sigle email to single recipient를 시도해 보십시오.
    API_KEY와 기타 정보는 각자의 환경에 따라 변경됩니다.
    const sgMail = require('@sendgrid/mail');
    
    const API_KEY = "XX.O1c1v3QNQzed41lkvQKNIw.7DYw-coFLLfoLqEuWADNzKH_xxxxxxxxxxxxxxxxxx";
    sgMail.setApiKey(API_KEY);
    
    const msg = {
        to: '[email protected]',
        from: '[email protected]',
        subject: 'test mail from sg',
        text: 'hoge hoge',
        html: '<p>foo bar</p>'
    }
    
    sgMail.send(msg).then(res => {
        console.log(res);
    }).catch(e => {
        console.log(e);
    });
    
    여러 사람에게 보내는 상황에서 주소의 배열, sgMail을 만듭니다.sendMultiple(msg)으로 한 것 같습니다.

    동작 확인


    실행해 보다.
    node index.js
    
    배달된 것 같습니다.

    추가 파일


    idnex.js와 같은 층에서 테스트합니다.만약 pdf가 있다면, 아래와 같다.
    index.js
    const sgMail = require('@sendgrid/mail');
    const fs = require('fs');
    
    //sendgrid
    const api_key = "xx.h_2KiszrS9acLRNN8oCs1g.mygHZwKirzSu9FHDR_TVOenruHqjtxxxxxxxxxx";
    sgMail.setApiKey(api_key);
    
    //attachment
    const pathToAttachment = `${__dirname}/test.pdf`;
    const attachment = fs.readFileSync(pathToAttachment).toString("base64");
    // console.log(attachment);
    
    const msg = {
        to: "[email protected]",
        from: "[email protected]",
        subject: "test",
        text: "hoge",
        // html: "<p>hoo</p>",
        attachments: [
            {
                content: attachment,
                filename: "test.pdf",
                type: "application/pdf",
                disposition: "attachment",
                contentId: "myPdf"
            }
        ]
    }
    
    sgMail.send(msg).catch(e => console.log(e));
    

    좋은 웹페이지 즐겨찾기