Customers Mail CloudのGoogle Apps Script用SDKを作成しました

Googleスプレッドシートやスライドを使っている方は多いと思いますが、Googleスプレッドシートでのメール送信は制約が多くて不便な思いをしていないでしょうか。CSVでダウンロードしてメールに添付するというのはちょっと面倒です。

そこでGoogleスプレッドシートなどで使えるマクロ機能であるGoogle Apps ScriptからCustomers Mail Cloudを簡単に使えるようにするSDKを作成しました。こちらを使えばとても簡単にメール送信が実現できます。

Customers Mail Cloudの設定

まずはCustomers Mail Cloudにて送信サーバの設定を行います。

ユーザ登録

ユーザ登録はまず、メールアドレスとパスワードを入力するところからはじまります。

f:id:moongift:20190510151017p:plain
ユーザ登録

入力したメールアドレス宛にメールアドレスの確認メール(仮登録受付メール)が届きますので、URLをクリックします。その後、名前や住所といった必要な情報を入力します。ユーザ登録が完了すると、無料トライアル開始のための審査が入ります。時間は長くとも30分程度です。「Customers Mail Cloud 無料トライアル利用開始のご案内」というメールが届いたら利用できます。

ログイン後に行うこと

ログインしたら、2つの作業を行う必要があります。

f:id:moongift:20190510150911p:plain
ダッシュボード

DKIMキーを設定する

DKIMキーはメールのなりすましを防止するための技術になります。メール配信を行うドメインのTXTレコードに対して設定します。管理コンソールでドメインを追加しようとすると、専用のキーが表示されます。

f:id:moongift:20190510150735p:plain
DKIMキーの取得

ドメインは s999999999999._domainkey.example.com のような形式になります。設定する値は v=DKIM1; p=MIG...QAB のように指定されるはずです。この設定はシステム管理者などに依頼して行ってもらってください。

DNS設定はすぐに反映されませんので、数分後にDNSを確認ボタンを押します。正しく設定されていれば、ドメインが追加登録できます。

ユーザを追加する

次にメール配信を行うユーザを追加します。これはAPI設定にて行います。ユーザ名(メールアドレス形式)、パスワードを設定します。また、利用できる機能を制限できます。例えばSMTPのみ、APIのみといった指定も可能です。

f:id:moongift:20190510150841p:plain
ユーザの追加

サーバに設定を反映する

設定を行ったら、それをサーバに反映します。サーバ構成機能にて行います。この反映を行わないと、DKIMやユーザ追加設定が反映されませんので注意してください。ここまでで以下の情報が入手できているはずです。

  • APIユーザ
  • APIキー

さらにAPIサーバのエンドポイントURLが必要です。これは契約しているプランによって異なりますのでご注意ください。

プラン名 エンドポイントURL
無料トライアル https://sandbox.smtps.jp/api/v2/emails/send.json
Standardプラン https://te.smtps.jp/api/v2/emails/send.json
Proプラン https://SUBDOMAIN.smtps.jp/api/v2/emails/send.json

これらの情報はメール送信時に設定しますので覚えておいてください。

Google Apps Scriptでの実装について

まずGoogle Apps Scriptでライブラリを読み込みます。これはリソースメニューのライブラリから行います。ライブラリのIDとして、1RegQzjZLiJUacopzEoxmpTe5_vp7LP3r01aa-D9rf4sJRPZkifI4Mf7K を入力してください。

f:id:moongift:20191224220150p:plain
ライブラリの読み込み

以下のコードはIdentifierをデフォルトのCustomersMailCloudであるとして記述します。

初期化

先ほど取得したAPIユーザ、APIキーを使ってCustomersMailCloud SDKを初期化します。

var c = new CustomersMailCloud.Client(API_USER, API_KEY);

プランを設定する

次に契約プランを指定します。Proプランの場合はサブドメインを指定してください。

c.trial(); // 無料トライアルの場合
c.standard(); // Standardプランの場合
c.pro(SUBDOMAIN); // Proプランの場合

送信元を指定する

送信元を指定します。一つ目の引数が表示名、次がメールアドレスです。

c.setFrom('Customers Mail Cloud', 'info@smtps.jp');

送信先を指定する

送信先を指定します。複数アドレスに送る場合は addTo を必要回数繰り返し実行してください。

c.addTo('テスト受信者', 'tester@smtps.jp');

件名、本文を指定する

件名、本文を指定します。

c.subject = 'テストメール from GAS';
c.text = "メールの本文です\n\n改行を入れました";

送信する

必要な情報が揃ったら送信を実行します。

try {
  var res = c.send();
  Logger.log(res);
} catch (e) {
  Logger.log(e);
}

送信がうまくいっていれば、次のような結果が返ってきます。

{
  "id":"\u003C1867844705.17288.1575893073288@mta01.sandbox.smtps.jp\u003E"
}

f:id:moongift:20191224220116p:plain
受信したメール

まとめ

SDKにすることでGoogleスプレッドシートなどからのメール送信がとても簡単にできるようになります。Google Apps ScriptからはSMTP接続ができませんので、Web API経由でのメール送信になります。Customers Mail Cloudを使えば、大量のメール送信であっても簡単に実装できます。

クラウドからのメール送信を簡単に。確実に。| Customers Mail Cloud