update.SDK使えば済む話ですが、PHPとか使ってるとローカルでsendmailできる前提にいろいろ動いてたりするので、sendmailをSESを連携するようにしてみたメモ。基本的にはここに手順があるのですが、そのままでは動かいないので、メモしておきます。やりたいことEC2からsendmailでメール送信したい(PHPとかから送る必要あるので)SPFとかDKIMの設定を楽に確実にしたい素のEC2で設定してもよかたのですが、素直?にSES使うことにしました。知っておかないとハマること私はAmazon初心者なので、幾つか前提を理解しておらずハマりました。ものが必要で、そのままの状態(Sandbox)では、以下の制限があるようです。toに設定できない)など。その他、1秒間に1通というのもあるらしいですね。あと、東京リージョンにはサービスが無いとか。あと、EC2からのメール送信にも制限があり、申請による解除が必要のようです。メール送信専用サービスなので、ちゃんと設定すれば制限なんて無いのかな?と勝手に思っていました。ダッシュボードの左ペインのDomainsでまず、送信(From)に利用したいドメインを登録しておきます。Addressesで、送信先アドレスを登録しておきます。Mail]で(指定した)メールにテストメールが届くか確認します。メールが届けばSESとしては動いてる状態です。Settingsで、IDとPasswordを取得しておきます。Linux(1)を利用しています。標準でMTAとしてsendmailが動いているようですね。postfixに変更することも考えましたが、とりあえずそのまま使います。上記フローに「まずはsendmailが使えるか確認しろ」と書いてあったので、sendmailで送信試験をしたところ、送れたり、送れなかったりしたので、最初いろいろ悩みました。sendmailを再起動してもよいかもしれません。フロー通りに設定する設定はここ通りに進めればよいのですが、幾つか変更点があります。フローの確認まず、全体の作業の流れはおおよそ下記のようなものです。sendmailが動いている(前提)を前提として、/etc/mail/authinfoの作成と編集(なかったので新規作成)/etc/mail/authinfo.dbの生成/etc/mail/accessの編集/etc/mail/access.dbの再生成/etc/mail/sendmail.mcの編集/setc/mail/sendmail.cfの再生成(とパーミッション変更)sendmailの再起動メール送信テスト(制限解除申請)という感じ。LOINGをPLAINに例として、下記の表記がありますが、"M:LOGIN"のところを"M:PLAIN"にしました。"M:PLAIN"なお、例はオレゴンリージョンを利用していますが、サーバ名はリージョンに合わせて変更します。私は、バージニア北部を利用したので、email-smtp.us-east-1.amazonaws.comを利用しました。portを25から587にsendmail.cfの設定時、例は25番ポートを使っていますが、587とかじゃないと動きません。/etc/mail/authinfo.db')dnlMASQUERADE_AS(`YOUR_DOMAIN')dnlFEATURE(masquerade_envelope)dnlFEATURE(masquerade_entire_domain)dnlあと、挿入位置に注意が必要です。MAILER()定義の前に挿入する必要があります。sendmail.cfのパーミッションは666ではなく、644sendmail.cfのパーミッションが666だと怒られます。/etc/mail/sendmail.cf再起動して送信テスト手順どおりですが、sendmailの再起動を忘れずに。Increases]というボタンがあるので、クリックして制限解除申請を行います。5時間後くらいに承認メールがきました。14件/secで承認されたようです。requestStockLike8zaburo@zaburoこんにちは。自分用のメモをだらだら公開しています。upLoginユーザーは見つかりませんでした。