V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
odirus
V2EX  ›  Ruby on Rails

Gitlab 邮件发送问题

  •  
  •   odirus · 2015-06-25 10:08:51 +08:00 · 18552 次点击
    这是一个创建于 3218 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教一下,按照官方的方法搭建起来Gitlab环境,一切运行正常,但是发现邮件发送不正常,以下是简要过程。
    检查运行日志,发现提示邮件发送成功,但始终收不到邮件。所以在配置文件中(/gitlab/etc/gitlab.rb)配置SMTP服务器,填上自己的163服务器SMTP信息(用其他语言验证SMTP通道是正确的,邮件能发送成功),执行 gitlab-ctl reconfigure,然后也执行了 gitlab-ctl restart 命令,但依然无法接收到邮件。
    现在请教的问题是:现在想捕获Gitlab发送到SMTP服务器后的返回结果,查看SMTP的提示信息来确定具体的失败原因,但没该语言的基础,无从下手。
    其他疑问:更新配置文件之后,也执行了 recongiure 命令,但是通过 gitlab show-config 命令却看不到SMTP服务器的配置信息,请问哪里不对?
    谢谢。

    17 条回复    2019-08-05 18:05:10 +08:00
    lilydjwg
        1
    lilydjwg  
       2015-06-25 10:18:06 +08:00
    你使用的是带登录的 SMTP?有没有收到退信或者错误日志呢?

    你可以尝试使用 tcpdump 抓包。网易可能没有加密。

    发送邮件不一般是使用系统上的邮件服务吗?GitLab 是自己直接去处理邮件的?
    ETiV
        2
    ETiV  
       2015-06-25 10:37:26 +08:00 via iPhone
    我也不懂ruby,但我配的是exmail.qq.com的。

    Google后看到别人说的,需要开SSL(=true)
    odirus
        3
    odirus  
    OP
       2015-06-25 10:44:17 +08:00
    @lilydjwg 日志里面记录的是这样的

    ”Sent mail to [email protected] (140.4ms)
    Completed 200 OK in 55ms (Views: 25.7ms | ActiveRecord: 7.1ms)“

    这个不是表示发送成功吗?但是我确实没法收到,我想打印输出SMTP的返回内容,但不知道从何下手。
    odirus
        4
    odirus  
    OP
       2015-06-25 10:54:25 +08:00
    @ETiV 能不能把你的关键信息隐去后的配置发一份给我呢?只要SMTP配置部分的就行了,谢谢,谢谢
    wych
        5
    wych  
       2015-06-25 11:29:23 +08:00
    第三方客户端包括自己写的脚本啥的用163会有奇怪的问题,你换一个smtp server看看
    327beckham
        6
    327beckham  
       2015-06-25 12:08:05 +08:00
    那个什么。。。。我就只在gitlab的server上装了个sendmail,略微配置一下。然后在gitlab配置文件中打开mail_delivery那个什么为sendmail,不改其他配置。 然后 ctl restart,就OK了。 你也可以试试。
    pinxue
        7
    pinxue  
       2015-06-25 12:09:07 +08:00
    配置不对呗
    vi. email: gitlab 文档只提供了 gmail 的配置示例。如果使用163,注意顶上的 gitlab_email_from 和 smtp 参数里的 user_name 一致,否则 163 会拒发。
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.ym.163.com"
    gitlab_rails['smtp_port'] = 25
    gitlab_rails['smtp_user_name'] = "[email protected]"
    gitlab_rails['smtp_password'] = "password"
    gitlab_rails['smtp_domain'] = "my.com"
    gitlab_rails['smtp_authentication'] = "login"
    pinxue
        8
    pinxue  
       2015-06-25 12:10:40 +08:00   ❤️ 1
    哦,这个是企业邮箱,个人邮的话 smtp server 确认一下对不对。
    pinxue
        9
    pinxue  
       2015-06-25 12:11:57 +08:00
    调试的话,gitlab-ctl tail 可以看到日志的。
    lty1993
        10
    lty1993  
       2015-06-25 13:58:32 +08:00
    @327beckham 如果对外发邮件的服务器没有reverse dns记录的话退信率很高的吧。。。
    327beckham
        11
    327beckham  
       2015-06-25 14:08:41 +08:00
    @lty1993 我配置的就公司内部用用(公司是买的微软的企业级邮箱),然后我自己测试过自己用的icloud邮箱。 都没有退信。另外,我的gitlab用的域名都是公司内部我自定义的域名。你配置gitlab是 面向哪些人使用的? 自己随意测试看看就知道是不是会退信了。
    odirus
        12
    odirus  
    OP
       2015-06-25 15:07:19 +08:00
    @pinxue 谢谢你这么认真的回答,我也会在自己擅长的领域去帮助一位V友。希望传递下去。
    odirus
        13
    odirus  
    OP
       2015-06-25 15:10:06 +08:00
    谢谢各位的回答,现在已经解决了,问题的原因是:我没有找对配置文件的位置。gitlab安装成功后会拷贝配置到 /etc 目录下,应该在那里修改配置,此时用 show-config 才会看到配置结果。
    mattlin
        14
    mattlin  
       2015-10-03 10:11:21 +08:00
    @odirus 你好,我最近也在搭建 gitlab ,基本搭建完成了,可以访问自己搭建的 gitlab 网站。但是遇到了邮件发送不了的问题,我现在使用的 gitlab 是官网的最新版, gitlab8.0 ,我是使用 GitLab Development Kit 安装 gitlab , https://gitlab.com/gitlab-org/gitlab-development-kit 。如果你有兴趣和有时间,希望可以和你交流一下, QQ 1484927201 。
    njwangchuan
        15
    njwangchuan  
       2016-06-13 14:19:04 +08:00
    odirus
        16
    odirus  
    OP
       2016-06-13 14:32:18 +08:00
    @njwangchuan 额。。。谢谢哈。很早之前解决了,原因是修改了配置后没有重新那啥(一直没动过,又忘记了,哈哈)
    duck2u
        17
    duck2u  
       2019-08-05 18:05:10 +08:00
    阿里云的服务器不支持 25 端口,网上用 163 邮件服务的教程都配的是 25 端口,可能是这个原因用不了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1030 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:18 · PVG 03:18 · LAX 12:18 · JFK 15:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.