如何使用Amazon SES设置Monit

JPN*_*JPN 4 capistrano ruby-on-rails amazon-ec2 monit amazon-ses

我在设置monitrc文件时遇到了困难。我使用Capistrano在Amazon EC2上设置Monit,并使用本教程作为指导:

http://railscasts.com/episodes/375-monit

set daemon 30

set logfile /home/deployer/apps/example/shared/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state

set eventqueue
    basedir /var/lib/monit/events
    slots 100

set mailserver email-smtp.us-east-1.amazonaws.com port 587
   username "amazon_username" password "amazon_password"
   using TLSV1
   with timeout 30 seconds

set alert alerts@example.com

set httpd port 2812
    allow admin: "admin_password"

check system example_server
  if loadavg(5min) > 2 for 2 cycles then alert
  if memory > 95% for 2 cycles then alert
  if cpu(user) > 75% for 2 cycles then alert

include /etc/monit/conf.d/*
Run Code Online (Sandbox Code Playgroud)

查看我的日志,出现以下错误:

Sendmail错误:554邮件被拒绝:电子邮件地址未验证。

我尝试过其他操作,例如将端口更改为465,但结果相似。

谷歌搜索后,我发现了这篇文章:

http://syshen.cc/post/14394727394/node-js-upstart-monit-and-aws-ses

它描述了如何设置发送者:

要仅通过“设置邮件{发自:your-name@example.com}”来指定发件人。

但是在Monit文档中找不到该语法。

任何帮助将不胜感激。一段时间以来一直在拉我的头发。

Ric*_*ico 5

在监视中,您需要设置MAIL-FORMAT指令:

根据文档

SET MAIL-FORMAT {mail-format}
Example:

 set mail-format {
      from: monit@foo.bar
  reply-to: support@domain.com
   subject: $SERVICE $EVENT at $DATE
   message: Monit $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.
            Yours sincerely,
            monit
 }
Run Code Online (Sandbox Code Playgroud)

from字段必须与您在SES中允许的电子邮件匹配。