GitLab:SMTP 邮件只能通过控制台运行

GitLab:SMTP 邮件只能通过控制台运行

我在虚拟机上安装了 Linux Ubuntu 16.04.1。我按照 GitLab 网站上的说明安装了 GitLab 8.12.6,但在使用 Gitlab 发送邮件时遇到了问题。

我想使用与 GitLab 服务器不同的域名的 SMTP 服务器。配置如下:GitLab 提供的示例

我关注了GitLab 的官方调试技巧

正如预期的那样,ActionMailer::Base.delivery_method回报=> :smtp;并且我能够使用该Notify.test_email方法发送邮件。尽管如此,新用户仍然收不到任何确认邮件。

在管理区域 > 监控 > 后台作业下,没有显示任何特殊内容。仪表板很整洁(没有失败/忙碌/...作业)。日志没​​有显示任何与电子邮件有关的问题。我甚至看到:

已发送邮件至[电子邮件保护](897.3毫秒)

健康检查报告显示一切健康。

唯一令人惊讶的是,正在运行的 sidekiq 进程是 git,并且在 PID/CPU/MEM/STAT/... 下仅显示问号。

令我惊讶的是,我可以从 GitLab 控制台发送邮件,但自行发送时仍然会失败。

您建议采取哪些进一步措施来解决此问题?

编辑

我查看了 GitLabs 日志(docs.gitlab.com/ee/administration/logs.html)但没有发现任何东西。

我想了解邮件服务器是否导致了此问题。(我无法访问其日志。)因此我将 GitLab 配置为使用我的 GMail 邮件作为 smtp 服务器。我的 GMail 已启用 2FA,因此我创建了一个令牌。GMail 可让您显示令牌上次使用的时间。

重新配置 GitLab 服务器后,我请求了一封新的确认电子邮件(server_name.com/users/confirmation/new),但没有收到任何内容。有趣的是,该令牌仍然从未被使用过。

之后,我使用管理控制台检查了 GMail 配置:令牌已被使用并且我收到了邮件。

由此我推断GitLab 甚至没有尝试访问 SMTP 服务器

答案1

注册确认电子邮件已被禁用。我在管理区域的设置下启用了它:“注册时发送确认电子邮件”。

令人困惑的是:

我正在使用“请求新确认”表单检查电子邮件设置。此表单将仅向启用上述设置时创建的用户发送邮件。不会向在关闭确认电子邮件的情况下创建的其他用户发送电子邮件,即使他们使用该表单发出明确请求。

这是因为他们的电子邮件地址已被标记为已验证。他们的请求被忽略,而不会在日志文件中提及。

相关内容