阿里云服务器gitlab邮箱配置OpenTimeout: execution expired
1、服务器为阿里云服务器Linux Centos 7;
2、安装gitlab-ce-8.17.3;
3、邮箱配置163:
gitlab_rails['gitlab_email_from'] = 'username@163.com'
user['git_user_email'] = "username@163.com"
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "username@163.com"
gitlab_rails['smtp_password'] = "userpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
4、发送邮件报错 OpenTimeout: execution expired。
试过如下几种解决办法:
1、开启邮箱授权码,将密码换成授权码;
2、更换其他163邮箱;
3、更换gmail邮箱;
全试过依旧不行,错误信息还是 OpenTimeout: execution expired。
即使写成错误的密码,错误信息还是 OpenTimeout: execution expired。
更换端口为其他,如225,错误信息 ECONNREFUSED: Connection refused - connect(2) for "smtp.163.com" port 225。
已经折腾一天,百度谷歌各种搜索都无果,请高手指教。
有一种怀疑,是不是阿里云服务禁止smtp?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
折腾一天,终于知道原因了。
阿里云服务器默认是屏蔽25端口的。
改用163邮箱的465端口即可。
改成465会出现 end of file reached 错误,需要 加上这句
gitlab_rails['smtp_tls'] = true
换用465端口可能会出现 delivery error: Net::ReadTimeout 错误,还需要加上ssl设置:
ssl: true
详情可以参考这里
试一试端口587
1、修改gitlab.rb配置文件
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xxx@company.com'
gitlab_rails['gitlab_email_reply_to'] = 'xxx@company.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.company.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "xxx@company.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "company.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = false
2、让配置文件生效
gitlab-ctl reconfigure
gitlab-ctl restart