目的
SESを使用する際のメモとして残します。
1. SESでの設定
ドメインを追加
ナビゲーションペインからDomainsに移動します。
Verify a New Domainという青色のボタンを押して新しいドメインを使用できるようにします。
ドメインを入力して、[DKIM Setting]をチェックします。
画面に表示されるレコード情報をそれぞれ設定します。
2. IAMでの設定
新規ユーザを作成
IAMにて新規ユーザを作成します。
この時、プログラムによるアクセスをチェックしてください。
アクセス権限の設定にて[SendEmail][SendRawEmail]を許可してください。
この時、アクセスキーIDとシークレットアクセスキーを控えておいてください。
3. SESでの受信ルールの設定
ここで使用したいメールアドレスをRecipientにします。
アクションはS3にしてください。既存のS3のストレージを選択するか新規作成してください。
そこにメールが保存されます。
prefixを設定すればそのディレクトリにメールが保存されます。
4. SESでの新規メールアドレスの設定
ナビゲーションペインからEmail Addressに移動します。
先ほどのストレージにVerification用のメールが届いているので確認してそのリンクに飛んでください。
このメールで「設定が完了していない」といったような内容のものが送られることがありますが、それはIAMにてドメインの権限を付与していないからです。
一度設定してからVerificationメールを送り直しましょう。
5. Node.jsでの送信
まず、先ほどのアクセスキーIDとシークレットアクセスキーをjsonファイルに保存します。
region-codeは各自の環境に合うものを調べてください。
{
"accessKeyId": "ACCESSKEYID",
"secretAccessKey": "SECRETACCESSKEY",
"region": "REGION_CODE"
}
次にNode.jsでプログラムを実行します。
まずAWS SDKをインストールして、下記プログラムを実行します。
$ npm install aws-sdk --save
var AWS = require('aws-sdk');
AWS.config.loadFromPath('./credentials.json');
var ses = new AWS.SES({
sslEnabled: true
});
var fromAddress="from@example.com";
var toAddress="to@example.com";
var subject="題名";
var body="本文";
var params = {
Source: fromAddress,
Destination: {
ToAddresses: toAddress,
},
Message: {
Subject: {
Data: subject
},
Body: {
Text: {
Data: body
}
}
}
};
ses.sendEmail(params, function(err, data) {
if (err) {
reject(err);
} else {
resolve(data);
}
});