厨师服务器不发送邮件

时间:2016-04-27 15:15:00

标签: email chef centos6 exim

我在CentOS 6.6上安装了Chef-server 12。当我想在页面https://ip/password-reset/new上提醒我用户密码时,我收不到任何邮件 在exim日志中,我看到了

2016-04-27 14:52:17 1avQp7-0001iP-0U <= <> R=1avQp6-0001iO-Om U=exim P=local S=1611
2016-04-27 14:52:17 1avQp7-0001iP-0U => opscode <opscode@non_resorvable_fqdn> R=localuser T=local_delivery
2016-04-27 14:52:17 1avQp7-0001iP-0U Completed
2016-04-27 14:53:23 Start queue run: pid=6616
2016-04-27 14:53:23 End queue run: pid=6616

但是当我用xmail发送邮件时一切都很好

2016-04-27 14:45:05 1avQi9-0001g2-DL <= user@non_resorvable_fqdn U=ec2-user P=local S=611
2016-04-27 14:45:05 1avQi9-0001g2-DL gmail-smtp-in.l.google.com [2a00:1450:4013:c00::1a] Network is unreachable
2016-04-27 14:45:08 1avQi9-0001g2-DL => user2@gmail.com R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [173.194.65.27] X=UNKNOWN:ECDHE-RSA-AES128-GCM-SHA256:128
2016-04-27 14:45:08 1avQi9-0001g2-DL Completed
2016-04-27 14:49:44 1avQme-0001hE-4B <= <> R=1avQme-0001hD-2t U=exim P=local S=1611
2016-04-27 14:49:44 1avQme-0001hE-4B => opscode <opscode@non_resorvable_fqdn> R=localuser T=local_delivery
2016-04-27 14:49:44 1avQme-0001hE-4B Completed

我收到了这封邮件

2 个答案:

答案 0 :(得分:1)

检查您的厨师日志和MTA(exim,postfix等)日志和配置。在我的情况下,安装chef-manage后,在log / var / log / chef-manage / web / current 中单击“重置密码”后在Web UI上找到:

[date] INFO -- :   Rendered password_reset_mailer/password_reset.text.erb (1.2ms)
[date] sh: 1: /usr/sbin/sendmail: not found

我安装了postfix,现在邮件会按原样发送。 所以我认为在你的情况下exim是问题。

答案 1 :(得分:0)

Chef在发送邮件时使用sendmail -t参数。在sendmail的各种实现中,此选项的解释方式不同。

从exim手册页:

  

-t

     

当Exim在其标准输入上收到本地生成的非SMTP邮件时,-t选项会使邮件的收件人从邮件中的收件人:,抄送:和密送:标题行中获取而不是从命令参数。在进行任何重写之前提取地址,然后删除Bcc:标题行(如果存在)。

     

如果命令有任何参数,则它们指定不向其传递消息的地址。也就是说,参数地址将从从标题中获取的收件人列表中删除。这与Smail 3兼容,并且符合若干版本的Sendmail的记录行为,如许多操作系统(例如Solaris 8,IRIX 6.5,HP-UX 11)的手册页所述。但是,某些版本的Sendmail会将参数地址添加到从标题中获取的地址,而O'Reilly Sendmail书籍会以这种方式记录。 Exim可以通过设置选项extract_addresses_remove_arguments false来添加参数地址而不是减去它们。

因此,要使用Chef服务器进行exim工作,请添加:

extract_addresses_remove_arguments = false

到exim配置的main/02_exim4-config_options部分

如果您选择使用单个配置文件,则配置位于:

/etc/exim4/exim4.conf.template(关于debian系统)

然后只需重启exim就可以了。

另请参阅:https://github.com/mikel/mail/issues/70