誰かがメールを送信するようにcentosインスタンスを構成する方法を教えてもらえますか?.
私の意図は、いくつかのシグナルとアラートに基づいて、bashスクリプトからビルドユーザーにメールを送信することです。大量郵送機として使うつもりはありません。
これは AmazonのSimple Notification Service に最適です。このサービス(SNSとも呼ばれます)は、bashスクリプトから簡単に使用でき、無料(最初の100,000メッセージ、合計1 GB未満)で、通知は即座に行われます。
SNSの設定は次のようになります。
From: SNSドキュメント
Eメールを送信するのは大変なことのように見えますが、AmazonのEC2環境はEメールの送信に関して非常に制限されています。多くの人がEC2をスパムプラットフォームとして使用しようとしているため、Amazonは、Amazonによって規定されている場合を除き、SMTP(eMail)トラフィックを徹底的にブロックしています。 Amazonセキュリティグループのポートを開いてAmazonのブロックをバイパスすることはできません。
Amazonには、EC2内から使用できる一般的なEメール機能があります。これは、Amazon Simple Email Service(SES)と呼ばれます。そのはnotはisバルクメール用に設計されています。そのため、SESの価格設定、例外処理、およびメッセージングは、私が想像しているように、アプリケーションにうまく適合しません。
一方、SNSはこれに最適です。これには、トピックの今後のメッセージを受信するかどうかを尋ねる受信者(ビルドユーザー)への最初の電子メールが含まれます。オプトアウトするオプションが与えられ、さらに受信するには返信する必要があります。
セットアッププロセス(上記のブロックに表示)はすべて、Amazonの AWSマネジメントコンソール から簡単に実行できます。 (あなたの質問は、これに必要なAWS EC2アカウントをすでに持っていることを意味します。)セットアップが完了すると、bashからのコマンドは次のようになります。
$ Prompt> sns-publish arn:aws:sns:us-east-1:365928882516:Foo --message "Hello、world!"
上記の例は、SNSで使用可能なコマンドラインインターフェイスを使用して実行されます。このコマンドラインインターフェイスは次の場所で入手できます: (Amazon Simple Notification ServiceコマンドラインインターフェイスTool) 、ドキュメントは次のとおりです。 (Amazon Simple Notification Serviceコマンドラインインターフェイスドキュメント) 。ただし、上記のように、最初に設定します。
セットアップは手間がかからず、運用中は岩のようにしっかりしています。
AWSサービスを1つの実行可能ファイルに結合するCLIの最新バージョンでは、構文がわずかに変更されていることに注意してください。上記のコマンドは次のようになります。
$Prompt> aws sns publish --topic-arn arn:aws:sns:us-east-1:365928882516:Foo --message "Hello, world!"
また、AWS_DEFAULT_REGION環境変数を設定していない場合(たとえば、Amazon Linux AMIではデフォルトで設定されていない場合)、リージョンを指定する必要があることに注意してください。
$Prompt> aws --region us-east-1 sns publish --topic-arn arn:aws:sns:us-east-1:365928882516:Foo --message "Hello, world!"
出典: Amazonの統合CLIドキュメント 。
独自のメールサーバー(Centos上)を使用している場合は、EC2メール送信制限を削除することを忘れないでください!
http://aws.Amazon.com/ec2/faqs/#Are_there_any_limitations_in_sending_email_from_EC2_instances
古いトピックだと知っていますが、今日はSESをsendmailとして使用できます
http://docs.aws.Amazon.com/ses/latest/DeveloperGuide/sendmail.html