実践活用ガイド - Webサーバーとアプリケーションの構築

メールサーバー構築なしで、手軽にメール送信|SendGrid編

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

本マニュアルでは、サーバーからWeb APIを使用して送信する方法、およびSMTPサーバーとして指定してメールコマンドで送信する方法を紹介します。
SendGridのIDCF特典プランを利用するには、IDCFクラウドのクラウドコンソール経由でお申し込みをしていただくことで利用できます。
※SendGridの会員登録には、正規代理店の株式会社構造計画研究所による審査があります。会員登録は余裕をもって行うことをおすすめします。

1. SendGridの会員登録とAPIキーの取得

SendGridの会員登録を行います。IDCFクラウドにログインを行い、IDCFクラウドのサービス一覧からSendGrid登録画面へすすみ、特典付会員登録を行います。

会員登録を行った後、審査が完了すると、SendGridからログイン情報のお知らせがメールにて届きます。
メールに記載してあるユーザ名とパスワードでSendGridにログインを行い、APIキーを発行します。取得したAPIキーと発行されたアカウントを使用して作業を行いますので、メモ帳などに貼り付けてコピー&ペーストで使用できるようにしておくとスムーズに作業できます。

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

クラウドコンソールTOPキャプチャ画像


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


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


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


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

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


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


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


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

クラウドコンソールTOPキャプチャ画像

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公式ドキュメントをご参照ください。

関連情報

このページの先頭へ このページの先頭へ