gitlab无法向新用户发送电子邮件

时间:2014-04-04 03:03:39

标签: gitlab

我刚刚在全新安装的Ubuntu 12.04上安装了git git-1.8.1.2和gitlab gitlab_6.7.2-omnibus-1.ubuntu.12.04_amd64.deb:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#ubuntu-12-04和:{{3} }

在gitlab中设置新用户时,它会尝试发送带有临时密码的电子邮件,但postfix会从中继主机收到错误: 发件人地址语法错误(回复MAIL FROM命令)

我的/etc/gitlab/config/environments/production.rb看起来像这样

config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true

config.action_mailer.smtp_settings = {
      :address              => 'mail.domain.com',
      :port                 => 587,
      :domain               => 'domain.com',
      :user_name            => 'username@domain.com',
      :password             => 'password',
      :authentication       => 'password',
      :enable_starttls_auto => true
}

我可以通过命令行发送电子邮件和postfix使用我认为相同的中继主机。 echo“这将进入邮件正文。”| sendmail“Hello world”myemail@domain.com

可能出现什么问题,我应该在哪里看?

1 个答案:

答案 0 :(得分:0)

我在使用SES的AWS上也遇到了同样的问题。在浪费了2天的调试,阅读文档和论坛后,我试图松开安全组入站规则,这仅限于端口22,80和443。

首先,我打开了所有入站流量以进行调试。一旦我打开所有端口到世界(0.0.0.0/0),问题就消失了。但这不能保持这样,然后我关闭所有入站端口,除了22(SSH),90(HTTP),443(HTTPS)和另外25(SMTP)到SMTP服务器的IP,它仍然有效。

因此,总而言之,SES需要能够使用SMTP端口与服务器通信。这就是端口必须对入站流量开放的原因。