シェルスクリプトでメール送信

シェルスクリプトから Customers Mail Cloud を利用してメールを送信する方法を紹介します。

Customers Mail Cloud のAPIを呼び出し、メールを送信する方法を簡単に検証することができますので、 是非、お試しください。

Customers Mail Cloud へサインアップする

まずは Customers Mail Cloud のアカウントを取得し、DKIM や APIユーザーなどをセットアップします。 以下のページを参考に、Customers Mail Cloud へのサインアップ(※1)と初期設定を行ってください。

サービスを利用する | Customers Mail Cloud

※1)無料トライアルにて動作検証をした後、メール送信を継続的に行う場合は、有料プランを購入する必要があります。

APIユーザを作成する(確認)

上記URLの初期設定にAPIユーザを作成する項目がありますが、今回は、Email Sending API https://smtps.jp/docs/apiv2/es/index.htmlを利用するため、作成した APIユーザ の「HTTP-API」 が許可となっていることを確認して下さい。

f:id:ryota0811:20170920212649p:plain

サンプルプログラム

cmcsend.sh

#!/bin/bash
CMC_API_USER="APIユーザ名"
CMC_API_KEY="パスワード"
TO_EMAIL="送信先メールアドレス"
TO_NAME="送信先名称"
FROM_EMAIL="差出人メールアドレス"
FROM_NAME="差出人名称"
SUBJECT="件名"

TEXT="本文(テキスト形式)"

curl --tlsv1.2 https://sandbox.smtps.jp/api/v2/emails/send.json -i \
-F "api_user=$CMC_API_USER" \
-F "api_key=$CMC_API_KEY" \
-F "to={name:'$TO_NAME' , address:'$TO_EMAIL'}"  \
-F "from={name:'$FROM_NAME' , address:'$FROM_EMAIL'}" \
-F "subject=$SUBJECT" \
-F "text=$TEXT" \
-F "attachments=0"


HTMLメールを送信する場合は、下記の様にHTMLコンテンツをファイルから読み込むことも可能です。 (この際、ファイルの文字コードは、UTF-8で作成下さい。)

cmcsend.sh

#!/bin/bash
CMC_API_USER="APIユーザ名"
CMC_API_KEY="パスワード"
TO_EMAIL="送信先メールアドレス"
TO_NAME="送信先名称"
FROM_EMAIL="差出人メールアドレス"
FROM_NAME="差出人名称"
SUBJECT="件名"
TEXT="This is HTML Email."

HTML="/tmp/sample.html"

curl --tlsv1.2 https://sandbox.smtps.jp/api/v2/emails/send.json -i \
-F "api_user=$CMC_API_USER" \
-F "api_key=$CMC_API_KEY" \
-F "to={name:'$TO_NAME' , address:'$TO_EMAIL'}"  \
-F "from={name:'$FROM_NAME' , address:'$FROM_EMAIL'}" \
-F "subject=$SUBJECT" \
-F "text=$TEXT" \
-F "html=<$HTML" \
-F "attachments=0"



シェルスクリプトからメール送信できましたでしょうか? 送信結果は、Customers Mail Cloud の管理コンソールから確認することができます。 また、APIを使ってデータを取得することもできますので、サービス導入の検証にご活用ください。