SendGridは送信者のアドレスを自由に設定でき、APIを叩くことで自動的にメールを送ってくれるサービスです。
お問い合わせをしてもらったユーザーに自動返信をしたり、招待メールを送ったりする時にとても便利です。
今回はNode.jp+Typescriptを使ってメールを送信します。
この記事の目次
SendGridに登録
まずはSendGridに登録しましょう。
SendGrid | クラウドメール配信サービス・メルマガ配信システム
世界中のマーケターや開発者が使っているメール配信サービス「SendGrid」。月間1,000億通以上の配信実績、高いメール到達率!豊富なAPIでシステム連携も簡単に!
アカウント登録ができたらログインしてください。
API Keyの取得
左のメニューからSetting→Api Keys→Create API Keyを選択します。
API Key Name はなんでも大丈夫です、好きな名前をつけましょう。
API Key Permisshons をFull AccessにしてCreate & Viewボタンを押してください。
そうするとAPI Keyが作成されます、一度しか表示されないので注意してください。
環境構築
Node.js側でSendGridのライブラリをインストールしましょう。
1 |
npm install @sendgrid/mail |
メールを送信用の関数を用意します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import * as sendgrid from "@sendgrid/mail"; export class SendGridUseCase { static sendMail(data: { to: string; from: string; subject: string; text: string; }) { sendgrid.setApiKey("YOUR API KEY"); const msg = { to: data.to, from: data.from, subject: data.subject, text: data.text, }; sendgrid.send(msg).then((_) => { console.log("success to sendGrid"); }).catch((error) => { console.log("failed to sendGrid"); console.log(error); }); } } |
sendgrid.setApi()では先ほど取得したAPI Keyを設定してください。
引数は内容は以下になります。
- to:送信するメールアドレス
- from:送信元のメールアドレス
- subject:メールのタイトル
- text:メールの本文
送信元のメールアドバイスはなんでも大丈夫なので、「noreply@hoge.com」のようにnoreplyをつけて返信できないアドレスからでも送ることが可能です。
先ほど作った関数を使って、メールを送ってみる。
1 2 3 4 5 6 7 8 9 |
import { SendGridUseCase } from "./send-grid"; //メールを送信 SendGridUseCase.sendMail({ to: "user@hoge.com", from: "noreply@hoge.com", subject: "お問い合わせを受け付けました", text: "お問い合わせを受け付けました", }); |
これでuser@hoge.comにメールが届きます。とくに難しい設定なしでメールを送ることができました。
Gmailとかから送るのは簡単だけど、指定したメールアドレスからメールを送信するのは、結構めんどくさいのでSendGridはとても便利ですね。
コメント