Amazon SESをサーバーからメールを送信するデフォルトの方法にするにはどうすればよいですか?


14

サーバーからのすべてのEメールにAmazon SESの使用を開始したいと思います。PHPホスティング、Django / Python Webアプリ、メールを送信するシステムユーティリティを持つフリーランスのデザイナーが数人います。

したがって、PHPのメール機能、コマンドラインメールコマンド、およびPythonアプリですべて使用できるようにしたいと思います。できれば、すべて独自の方法で設定する必要はありません。

localhostでPostfixのようなものを実行し、その配信にSESを使用する必要があると思いますが、その方法はわかりません。

Amazonのドキュメントには、ses-send-email.plスクリプトを呼び出すようにメール転送エージェント(MTA)をセットアップする必要があると記載されています。私はスクリプトを持っていますが、これを達成する方法がわかりません。

私は正しい軌道に乗っていますか?その場合、そのスクリプトを使用するようにPostfixを構成するにはどうすればよいですか?

回答:



14

SES開発者ガイドからコピーされたいくつかのアイテムを次に示します。

ses-send-email.plをPostfixと統合するには:

  1. master.cfファイルを開きます。多くのシステムでは、このファイルは/etc/postfixディレクトリにあります。
  2. master.cfファイルに次の2行を追加し、ファイルを保存して、新しいメールトランスポートを構成します。

    aws-email  unix  -       n       n       -       -       pipe
      flags=R user=mailuser argv=/opt/third-party/amazon/ses-send-email.pl -r -k /opt/third-party/amazon/aws-credentials -e https://email.us-east-1.amazonaws.com -f ${sender} ${recipient}
    

この例について、次のことに注意してください。

  • フラグ行は、少なくとも1つの空白文字で始まります。
  • userパラメーターは、非rootユーザー(つまり、非管理ユーザー)を指定する必要があります。ユーザーmailuserは、説明のみを目的としています。
  • ses-send-email.plスクリプトとは/ opt /サードパーティ製/アマゾンディレクトリに資格証明ファイルに存在します。
  • Amazon SESと通信するためのエンドポイントはhttps://email.us-east-1.amazonaws.comです

必要に応じてこれらのパラメーターを変更する必要があります。

  1. master.cfと同じディレクトリにあるmain.cfファイルを開き、次のように変更します。

    1. default_transport行を探します。

      • 存在する場合は、次のように変更します。

        default_transport = aws-email
        
      • 存在しない場合は、前の内容で新しい行を追加します。

    2. 完了したら、main.cfファイルを保存します。
  2. Postfixサーバーを再起動します。

    /etc/init.d/postfix restart
    

このコマンドは、特定のサーバーではまったく同じではない場合があることに注意してください。この時点から、送信メールはAmazon SESを介して送信されます。Postfixサーバーを介してメールメッセージを送信し、宛先に到着することを確認することで、これをテストできます。メッセージが配信されない場合は、システムのメールログでエラーを確認してください。多くのシステムでは、これは/var/log/mail.log

-Amazon CloudとSESで最近試したすべてをまとめたシンプルなブログを作成しました。リンクはこちらです:http : //netwiser.blogspot.com/2011/02/setup-amazon-ses-to-relay-email-by.html


素晴らしいです、ありがとう。これは、postfixを構成することが私の問題を解決する正しい方法であることを意味すると思います。これを試して、すぐに回答を受け入れます。
ジェイク

1

サーバーでPython / Djangoアプリをホストしているため、AWS Perlスクリプトに相当するPythonにPostfixを接続することが望ましい場合があります。このガイドには詳細があります。

http://aws.amazon.com/articles/2405502737055650

あるいは、Perlスクリプトを使用したいが(私のように)CPANモジュールが恐ろしく古くなっていることがわかった場合、オペレーティングシステムのパッケージマネージャーを使用して依存関係をインストールする方が簡単な場合があります。たとえば、ubuntuでは、次の方法でこれを行うことができます。

sudo apt-get install libio-socket-ssl-perl libxml-libxml-perl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.