メールサーバー構築なしで、手軽にメール送信|SendGrid編 | IDCFクラウド ご利用ガイド

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

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


目次

  1. SendGridの会員登録とAPIキーの取得
  2. Web APIを使用して、メールを送信
  3. SMTPサーバーに指定して、メールを送信

本マニュアルでは、サーバーからWeb APIを使用して送信する方法、およびSMTPサーバーとして指定してメールコマンドで送信する方法を紹介します。
SendGridのIDCF特典プランを利用するには、IDCFクラウドのクラウドコンソール経由でお申し込みをしていただくことで利用できます。

  • ※SendGridの会員登録には、正規代理店の株式会社構造計画研究所による審査があります。会員登録は余裕をもって行うことをおすすめします。

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

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

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

  1. IDCFクラウドのクラウドコンソールのトップページのサービス一覧から提携サービスの「SendGrid」をクリックします。
  1. SendGridの画面に遷移します。[特典付会員登録]をクリックします。
  1. 新規会員登録画面に遷移します。メールアドレスを入力して、[確認メールを送付する]をクリックします。
  1. 「確認メール送付」のメッセージ画面に遷移するので、入力したメールアドレスにてメール受信を確認します。
  1. 入力したメールアドレスに「【SendGrid】仮登録完了のお知らせ」という件名のメールが届きますので、本文中の[ユーザ情報を登録]をクリックします。
  1. 新規会員登録画面に遷移します。必要な情報を入力し、[登録する]をクリックします。
    ※利用用途は検証目的であっても、できる限り詳細に記載することで審査がスムーズに進みやすくなります。
  1. 登録完了の旨表示されます。 この後、SendGridの正規代理店である構造計画研究所にて審査が行われ、登録したメールアドレスに本登録完了のメールが届きます。(通常、翌2営業日以内)
  1. 登録したメールアドレスに「SendGridにようこそ!」という件名のメールが届きます。
    表示されているユーザ名をメモ帳などにコピーしておきます。
  1. IDCFクラウドのクラウドコンソールのトップページのサービス一覧から提携サービスの「SendGrid」をクリックします。
  1. SendGridの画面に遷移します。[ログイン]をクリックします。
  1. ログイン画面に遷移します。ユーザ名とパスワードを入力し[ログイン]をクリックします。
  1. マイページに遷移します。[SendGridダッシュボードへ]をクリックします。
  1. SendGridダッシュボードに遷移します。
  1. メニューより[Settings]をクリックします。プルダウンメニューから[API Keys]をクリックします。
  1. API Keysの画面に遷移します。[Create API Key]をクリックします。
  1. APIキー作成画面に遷移します。
    「API Key Name」に任意の名前を入力(ここではIDCF)し、「API Key Permissions」として「Full Access」を選択し、[Create & View]をクリックします。
  1. 作成した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: ご利用のアカウントによってネットワークインターフェースとして選択できるゾーン名が異なります。普段お使いのゾーン名をご選択ください。
  1. 仮想マシン「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"
    
  2. メール受信を確認します。

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

関連情報