Joonas' Note

Joonas' Note

외부 메일 서버 사용하기 - Sendgrid 본문

개발

외부 메일 서버 사용하기 - Sendgrid

2017. 10. 30. 09:53 joonas

    사이트를 개발할 때, 외부 STMP를 많이 사용하곤 한다. 그 이유는 안정적인 것도 한 몫 하겠지만, 빠르고 편하기 때문일 것이다. 대표적으로 MailGun도 있고 하지만, 난 SendGrid가 좋았다.

    Free plan이라도 하루 100통의 메일은 무료로 제공해준다. 가입은 이메일이랑 이름, 사용 목적 등만 작성하면 되는데 Free plan으로 진행하면 카드 등록 절차도 필요없다.


    예전에 Node.js에서 외부 메일 서버를 찾다가 SendGrid를 접했는 데, API 사용이 너무 편하고 설명도 잘 되어있어서 그 때부터 애용하고 있다.
    (링크: node.js에서 SendGrid 사용하기 공식 도큐먼트)


    로그인하고 들어가면 아래와 같은 Dashboard가 나온다.

    최근에 안써서 월별(Mo) 그래프로 캡쳐했는데 기본은 주간(Wk) 그래프이다. 위에서 보이는 선들은 지난 9~12일에 있었던 API 사용률이다. 빨간선은 발송 요청 수이고, 노란색은 정상적을 도착한 메일 수. 파란색은 수신사자 메일들을 열어본 수이다.


    Marketing 기능은 사용 안 해봤고, 난 그저 메일을 보내고 싶었을 뿐이라서 Dashboard랑 Activity, Setting 만 본다.

    Activity Feed는 꽤 직관적으로 생겼다. 누구에게 보냈고 메일 상태(보내졌는가, 읽었는가 등) 정도로 필요한 내용은 한 줄에 다 들어있다.

    중요한 부분 중 하나인데, API Key 관리이다.

    API Key는 만들 때 딱 한번만 보여주므로 무조건 어디 적어놔야한다. 이걸 꼭 기억해두고 [Create API Key] 버튼을 눌러서 Key를 만들면 된다.
    API Key name은 구분할 수 있는 적당한 이름으로 지어주면 되고, Permission 선택은 하나씩 살피면서 잘 읽고 진행하면 된다. Full Access는 GET/POST/PATCH... 등 (결제 제외) 다 접근 가능한 API고, Restricted Access는 직접 고르는 거. Billing은 안 써서 모른다.

    API Key를 발급받았으니 다 끝났다. 이제 언어(또는 프레임워크)마다 SENDGRID_API_KEY 만 넣어주면 잘 돌아간다!

    공식 도큐먼트에 잘 나와있어서 프레임워크별로 참고하면 좋다. v2 SendGrid랑 v3 SendGrid로 나뉘는 데, 그건 API 버전이니까 확인하고 사용하면 된다.

    v2 Mail Document : https://sendgrid.com/docs/Integrate/Code_Examples/v2_Mail/index.html
    v2 Mail Document : https://sendgrid.com/docs/Integrate/Code_Examples/v3_Mail/index.html

    제공하는 언어는 C#/Go/Java/Node.js/PHP/Python/Ruby 이다.
    예를 들어 v3 Mail - Node.js 는 사용할 서버에서 아래처럼 적으면 추가된다.

    npm으로도 제공되고 있다.

    https://www.npmjs.com/package/sendgrid
    https://www.npmjs.com/package/sendgrid-nodejs

    위 링크가 v2였고 아래가 v3였던 걸로 기억한다.

    Comments