2

我正在尝试将 GitLab 配置为使用 Microsoft Exchange 发送邮件,但是它不起作用,没有电子邮件从 gitlab 发送给用户

这是我的配置:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "mail.company.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@company.com"
gitlab_rails['smtp_password'] = "PASSWORD"

我还用 Java 邮件实现了一段代码,它成功发送了邮件,这是 Java 邮件配置:

final String username = "gitlab@company.com";
final String password = "PASSWORD";
properties.put("mail.smtp.host", "mail.company.com");
properties.put("mail.smtp.port", "25");
properties.put("mail.transport.protocol", "smtp");

谁能指出如何解决这个问题?

4

3 回答 3

0

我有同样的问题并设法用这个配置修复它:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.company.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "gitlab@company.com"
gitlab_rails['smtp_password'] = 'PASS'
gitlab_rails['smtp_domain'] = "smtp.company.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
#gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = 'gitlab@conpany.com'
于 2021-08-10T05:04:18.457 回答
0

完整的交换配置还应包含以下几行:

gitlab_rails['smtp_domain'] = "smtp.company.com" # SMTP domain to use
gitlab_rails['smtp_authentication'] = "login" # Use login credentials

资源

于 2016-02-02T11:55:44.787 回答
0

我正在尝试将 GitLab 配置为使用 Microsoft Exchange 发送邮件

在 OP 之后 3 年多之后的GitLab 11.7(2019 年 1 月 22 日)之前, 这应该是不可能/容易的。

请参阅“ GitLab 现在支持 Microsoft Exchange 和 Google Groups 的传入电子邮件功能,例如服务台

从 GitLab 11.7 开始,您现在可以将 Microsoft Exchange 或 Google Groups 与您的自我管理 GitLab 实例一起使用,配置为电子邮件服务器,从而在设置传入电子邮件功能时为您提供更多选择。

以前,只有当您的电子邮件服务器支持sub-addressing时,自我管理的 GitLab 用户才能使用这些功能。(此处说明
Microsoft Exchange 和 Google Groups 不支持子寻址。

GitLab 11.7 现在支持子地址和包罗万象的电子邮件邮箱,从而与这两个提供包罗万象的电子邮件邮箱的流行选项兼容。

请参阅该配置示例(对于 Omnibus 安装)

 gitlab_rails['incoming_email_enabled'] = true

 # The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
 # The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
 # Exchange does not support sub-addressing, so a catch-all mailbox must be used.
 gitlab_rails['incoming_email_address'] = "incoming-%{key}@exchange.example.com"

 # Email account username
 # Typically this is the userPrincipalName (UPN)
 gitlab_rails['incoming_email_email'] = "incoming@ad-domain.example.com"
 # Email account password
 gitlab_rails['incoming_email_password'] = "[REDACTED]"

 # IMAP server host
 gitlab_rails['incoming_email_host'] = "exchange.example.com"
 # IMAP server port
 gitlab_rails['incoming_email_port'] = 993
 # Whether the IMAP server uses SSL
 gitlab_rails['incoming_email_ssl'] = true

是的,这适用于所有版本的 GitLab,包括核心“CE”版本(“社区版”,免费)。
请参阅发行说明

GitLab 有一些使用传入电子邮件的强大功能,例如电子邮件回复、电子邮件新问题、电子邮件新合并请求和服务台。以前,如果您使用配置为使用子地址的电子邮件服务器,您只能利用这些功能。

在此版本中,GitLab 现在支持子地址和包罗万象的电子邮件邮箱,使用新的电子邮件格式,允许更多电子邮件服务器与 GitLab 一起使用,包括 Microsoft Exchange 和 Google Groups(不支持子地址)。

于 2019-01-29T17:24:34.917 回答