本マニュアルでは、サーバーからWeb APIを使用して送信する方法、およびSMTPサーバーとして指定してメールコマンドで送信する方法を紹介します。
SendGridのIDCF特典プランを利用するには、IDCFクラウドのクラウドコンソール経由でお申し込みをしていただくことで利用できます。
※SendGridの会員登録には、正規代理店の株式会社構造計画研究所による審査があります。会員登録は余裕をもって行うことをおすすめします。
1. SendGridの会員登録とAPIキーの取得
SendGridの会員登録を行います。IDCFクラウドにログインを行い、IDCFクラウドのサービス一覧からSendGrid登録画面へすすみ、特典付会員登録を行います。
会員登録を行った後、審査が完了すると、SendGridからログイン情報のお知らせがメールにて届きます。
メールに記載してあるユーザ名とパスワードでSendGridにログインを行い、APIキーを発行します。取得したAPIキーと発行されたアカウントを使用して作業を行いますので、メモ帳などに貼り付けてコピー&ペーストで使用できるようにしておくとスムーズに作業できます。
1. IDCFクラウドのクラウドコンソールのトップページのサービス一覧から提携サービスの「SendGrid」をクリックします。
2. SendGridの画面に遷移します。[特典付会員登録]をクリックします。
3. 新規会員登録画面に遷移します。メールアドレスを入力して、[確認メールを送付する]をクリックします。
4. 「確認メール送付」のメッセージ画面に遷移するので、入力したメールアドレスにてメール受信を確認します。
5. 入力したメールアドレスに「【SendGrid】仮登録完了のお知らせ」という件名のメールが届きますので、本文中の[ユーザ情報を登録]をクリックします。
6. 新規会員登録画面に遷移します。必要な情報を入力し、[登録する]をクリックします。
※利用用途は検証目的であっても、できる限り詳細に記載することで審査がスムーズに進みやすくなります。
7. 登録完了の旨表示されます。
この後、SendGridの正規代理店である構造計画研究所にて審査が行われ、登録したメールアドレスに本登録完了のメールが届きます。(通常、翌2営業日以内)
8. 登録したメールアドレスに「SendGridにようこそ!」という件名のメールが届きます。
表示されているユーザ名をメモ帳などにコピーしておきます。
9. IDCFクラウドのクラウドコンソールのトップページのサービス一覧から提携サービスの「SendGrid」をクリックします。
10. SendGridの画面に遷移します。[ログイン]をクリックします。
11. ログイン画面に遷移します。ユーザ名とパスワードを入力し[ログイン]をクリックします。
12. マイページに遷移します。[SendGridダッシュボードへ]をクリックします。
13. SendGridダッシュボードに遷移します。
14. メニューより[Settings]をクリックします。プルダウンメニューから[API Keys]をクリックします。
15. API Keysの画面に遷移します。[Create API Key]をクリックします。
16. APIキー作成画面に遷移します。
「API Key Name」に任意の名前を入力(ここではIDCF)し、「API Key Permissions」として「Full Access」を選択し、[Create & View]をクリックします。
17. 作成したAPIキーをメモ帳などにコピーしておきます。
以上でSendGridの会員登録、およびAPIキーの作成が完了しました。
2. Web APIを使用して、メールを送信
作成したAPIキーを使用して、Web API経由でメール送信をします。
1. メール送信環境として、仮想マシンを作成します。
仮想マシンの作成方法は「Webサイトの本番環境を構築したい(Web1台構成)」をご参照ください。
設定例は以下のとおりです。
項目 | 設定内容 | |
---|---|---|
マシンタイプ | Light.S1 | |
イメージ | おすすめTemplate - CentOS 7.9 64-bit | |
ボリューム | データディスクなし(空欄のまま) | |
SSH Key | ※注1 | |
仮想マシン台数 | 1台 | |
ネットワークインターフェース | ※注2 | |
詳細情報 |
マシン名 | web01 |
グループ | (なし) |
※注1: SSH Keyの項目は、SSH秘密鍵を未作成の場合は[作成]を選択し、生成された秘密鍵をローカルPCに保存します。詳しくは「めちゃ楽ガイド」6ページの手順3をご参照ください。
※注2: ご利用のアカウントによってネットワークインターフェースとして選択できるゾーン名が異なります。普段お使いのゾーン名をご選択ください。
2. 仮想マシン「web01」にsshでログインし、下記コマンドを実行します。
「YOUR_API_KEY」は作成したAPIキーを入力します。
// 任意のファイル名でjsonファイルを作成(ここでは、test.json) [root@web01 ~]# cat<<EOF > test.json { "personalizations": [ { "to": [ { "email": "recipient_address@example.com" } ], "subject": "こんにちは!" } ], "from": { "email": "from_address@example.com" }, "content": [ { "type": "text/plain", "value": "テキストメールです!" } ] } EOF // curlコマンドでメールを送信 [root@web01 ~]# curl -X POST https://api.sendgrid.com/v3/mail/send \ -d "@test.json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
3. メール受信を確認します。
以上でSendGridのWeb API経由でメール送信することができました。
3. SMTPサーバーに指定して、メールを送信
SendGridをSMTPサーバーとして指定し、メールを送信します。メールはmailxコマンドを使用して送信します。
メール送信の認証はAPIキーを使用します。
1. メールの接続設定情報を作成します。
設定例は以下のとおりです。
[root@web01 ~]# cat <<EOF >> .mailrc set smtp=smtp://smtp.sendgrid.net:587 set smtp-auth=login set smtp-auth-user=apikey EOF [root@web01 ~]#
2. mailコマンドでテストメールを送信します。
本文は最後にドットだけ入力してEnterをすることで、パスワード入力に進みます。
[パスワード]には、APIキーを入力します。
[root@web01 ~]# mail メール宛先 Subject: test test. . EOT Password: [パスワード] [root@web01 ~]#
3. 実際にメールが届いているか確認し、ヘッダ情報からSendGridから送信されているか確認します。
(ヘッダ情報は、Recived:の項目の1行目が「sendgrid.net」になっていれば、SendGridから送られていることを確認できます。)
※メールを上記のとおり送信した場合、「test」という題名で、fromはroot@サーバー名で受信します。
以上で、SMTPサーバーにSendGridを指定してメール送信することができました。
本マニュアルでは、サーバーからWeb APIを使用して送信する方法、およびSMTPサーバーとして指定してメールコマンドで送信する方法を紹介しました。
SendGridはWeb APIが豊富に用意されており、さまざまなシーンで活用することができます。
SendGridを活用することで煩雑なメールサーバーの構築・運用から解放されます。
また、SendGridは二要素認証に対応していますので、セキュアなログインが可能です。
SendGridのAPIライブラリ、サンプルコード、二要素認証等については、SendGrid公式ドキュメントをご参照ください。