メールサーバー構築なしで、手軽にメール送信|SendGrid編
IDCFクラウドでは、SendGridのIDCF特典プランを利用することができます。
SendGridはSMTPサーバーとして利用したり、リスト形式の一斉配信が簡単に利用できるクラウド型メール配信サービスです。
豊富なWeb APIを備えており、SendGridを使用することで、一からメールサーバーを構築することなく、メール送信やメール配信などの処理をすることが可能です。
目次
- SendGridの会員登録とAPIキーの取得
- Web APIを使用して、メールを送信
- SMTPサーバーに指定して、メールを送信

本マニュアルでは、サーバーからWeb APIを使用して送信する方法、およびSMTPサーバーとして指定してメールコマンドで送信する方法を紹介します。
SendGridのIDCF特典プランを利用するには、IDCFクラウドのクラウドコンソール経由でお申し込みをしていただくことで利用できます。
- ※SendGridの会員登録には、正規代理店の株式会社構造計画研究所による審査があります。会員登録は余裕をもって行うことをおすすめします。
1. SendGridの会員登録とAPIキーの取得
SendGridの会員登録を行います。IDCFクラウドにログインを行い、IDCFクラウドのサービス一覧からSendGrid登録画面へすすみ、特典付会員登録を行います。
会員登録を行った後、審査が完了すると、SendGridからログイン情報のお知らせがメールにて届きます。
メールに記載してあるユーザ名とパスワードでSendGridにログインを行い、APIキーを発行します。取得したAPIキーと発行されたアカウントを使用して作業を行いますので、メモ帳などに貼り付けてコピー&ペーストで使用できるようにしておくとスムーズに作業できます。
- IDCFクラウドのクラウドコンソールのトップページのサービス一覧から提携サービスの「SendGrid」をクリックします。

- SendGridの画面に遷移します。[特典付会員登録]をクリックします。

- 新規会員登録画面に遷移します。メールアドレスを入力して、[確認メールを送付する]をクリックします。

- 「確認メール送付」のメッセージ画面に遷移するので、入力したメールアドレスにてメール受信を確認します。

- 入力したメールアドレスに「【SendGrid】仮登録完了のお知らせ」という件名のメールが届きますので、本文中の[ユーザ情報を登録]をクリックします。

- 新規会員登録画面に遷移します。必要な情報を入力し、[登録する]をクリックします。
※利用用途は検証目的であっても、できる限り詳細に記載することで審査がスムーズに進みやすくなります。

- 登録完了の旨表示されます。 この後、SendGridの正規代理店である構造計画研究所にて審査が行われ、登録したメールアドレスに本登録完了のメールが届きます。(通常、翌2営業日以内)

- 登録したメールアドレスに「SendGridにようこそ!」という件名のメールが届きます。
表示されているユーザ名をメモ帳などにコピーしておきます。

- IDCFクラウドのクラウドコンソールのトップページのサービス一覧から提携サービスの「SendGrid」をクリックします。

- SendGridの画面に遷移します。[ログイン]をクリックします。

- ログイン画面に遷移します。ユーザ名とパスワードを入力し[ログイン]をクリックします。

- マイページに遷移します。[SendGridダッシュボードへ]をクリックします。

- SendGridダッシュボードに遷移します。

- メニューより[Settings]をクリックします。プルダウンメニューから[API Keys]をクリックします。

- API Keysの画面に遷移します。[Create API Key]をクリックします。

- APIキー作成画面に遷移します。
「API Key Name」に任意の名前を入力(ここではIDCF)し、「API Key Permissions」として「Full Access」を選択し、[Create & View]をクリックします。

- 作成したAPIキーをメモ帳などにコピーしておきます。

以上でSendGridの会員登録、およびAPIキーの作成が完了しました。
2. Web APIを使用して、メールを送信
作成したAPIキーを使用して、Web API経由でメール送信をします。
- メール送信環境として、仮想マシンを作成します。
仮想マシンの作成方法は「Webサイトの本番環境を構築したい(Web1台構成)」をご参照ください。 設定例は以下のとおりです。
| 項目 | 設定内容 |
| マシンタイプ | Light.S1 |
| イメージ | おすすめTemplate - CentOS 7.9 64-bit |
| ボリューム | データディスクなし(空欄のまま) |
| SSH Key | ※注1 |
| 仮想マシン台数 | 1台 |
| ネットワークインターフェース | ※注2 |
| 詳細情報 - マシン名 | web01 |
| 詳細情報 - グループ | (なし) |
- ※注1: SSH Keyの項目は、SSH秘密鍵を未作成の場合は[作成]を選択し、生成された秘密鍵をローカルPCに保存します。詳しくは「めちゃ楽ガイド」6ページの手順3をご参照ください。
- ※注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](https://api.sendgrid.com/v3/mail/send) \ -d "@test.json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"メール受信を確認します。
以上でSendGridのWeb API経由でメール送信することができました。
3. SMTPサーバーに指定して、メールを送信
SendGridをSMTPサーバーとして指定し、メールを送信します。メールはmailxコマンドを使用して送信します。
メール送信の認証はAPIキーを使用します。
メールの接続設定情報を作成します。
設定例は以下のとおりです。[root@web01 ~]# cat <<EOF >> .mailrc set smtp=smtp://smtp.sendgrid.net:587 set smtp-auth=login set smtp-auth-user=apikey EOF [root@web01 ~]#mailコマンドでテストメールを送信します。
本文は最後にドットだけ入力してEnterをすることで、パスワード入力に進みます。
[パスワード]には、APIキーを入力します。[root@web01 ~]# mail メール宛先 Subject: test test. . EOT Password: [パスワード] [root@web01 ~]#実際にメールが届いているか確認し、ヘッダ情報からSendGridから送信されているか確認します。(ヘッダ情報は、Recived:の項目の1行目が「sendgrid.net」になっていれば、SendGridから送られていることを確認できます。)
※メールを上記のとおり送信した場合、「test」という題名で、fromはroot@サーバー名で受信します。
以上で、SMTPサーバーにSendGridを指定してメール送信することができました。
本マニュアルでは、サーバーからWeb APIを使用して送信する方法、およびSMTPサーバーとして指定してメールコマンドで送信する方法を紹介しました。
SendGridはWeb APIが豊富に用意されており、さまざまなシーンで活用することができます。
SendGridを活用することで煩雑なメールサーバーの構築・運用から解放されます。
また、SendGridは二要素認証に対応していますので、セキュアなログインが可能です。
SendGridのAPIライブラリ、サンプルコード、二要素認証等については、SendGrid公式ドキュメントをご参照ください。