Amazon SES のスクリプト ses-send-email.pl によるメール送信

Amazon Simple Email Service (アマゾン SES) を利用してメールを送る、最も簡単な方法のひとつに Developer Tools に含まれているスクリプトのひとつ、 ses-send-email.pl を使う方法があります。

ここではこのスクリプトを利用して、メールを送信してみましょう。メールを送信するためには、送信元のメールアドレスをベリファイしておかないといけませんので、 まだでしたら、やっておいてください。

Amazon SES によるメール送信例

Developer Tools がインストールされており、メールアドレスが確認できていれば、すぐにメールが送信可能ですからさっそく試してみましょう。

コマンドは次のようになります。

$ ./ses-send-email.pl -k aws-credentials -s test -f from address to address
Hello, Amazon Simple Email Service!

This is a test mail.
Ctrl+D
$ 

コマンドを入力すると、本文の入力待ちになるのでそのまま入力します。ここでは、Hello から始まる部分が本文です。メールの入力が完了したら、Ctrl + D で入力を完了します。

成功すると何もメッセージは表示されません。

上のコマンドを用いて Amazon SES で送信したメールを Gmail で受信した様子は次の通りです。

Amazon SES からのメールを受信

またファイルにメッセージを用意しておき、

$ ./ses-send-email.pl -s test -f from address to address < ~/message.txt

としても OK です。

ses-send-email.pl のオプション

スクリプト ses-send-email.pl のオプションは --help で表示されます。

ただし、perl-doc パッケージがない場合は正しくヘルプが表示されないので、 ヘルプをみたい場合はインストールしておきます。

$ sudo apt-get install perl-doc

で OK です。

オプション内容
-eAmazon SES エンドポイント URL を指定します。 エンドポイントはデフォルトで https://email.us-east-1.amazonaws.com/ が使われる。
-kクレデンシャルファイルを指定します。デフォルトで環境変数 AWS_CREDENTIALS_FILE に設定されたファイル名が使われます。 aws-credentials という名前のクレデンシャルファイルが作成してある場合で、コマンド入力時にファイルを指定するのを省略するためには、環境変数を設定します。
export AWS_CREDENTIALS_FILE=aws-credentials
-sメールの件名 (Subject)
-f送り元メールアドレス
-cCC となるメールアドレス。カンマ (,) で区切って複数指定します。
-bBCC となるメールアドレス。
-rraw モードでメールを送る。この場合はメッセージヘッダも STDIN から読み込みます。したがって、-s オプションは使えません。日本語を利用する場合はこちらを利用してエンコード方式を指定します。