gitlab-mail-receiver - 让 GitLab 支持邮件回复功能
jopen
9年前
你们公司在用 GitLab 管理源代码吗?有在大量用 Issue 和 MergeRequest 么?有觉得需要一个想 GitHub 那样直接回复提醒邮件就能在 GitLab 相关内容上面回复么?
gitlab-mail-receiver 就能帮你实现这个需求!
功能
- 支持 POP/IMAP 协议;
- 独立进程启动服务,定期检测邮件处理回复;
- 收到邮件回复后会做的内容解析,定位 Issue/MergeRequest 并自动创建回复;
处理流程
/--> [ Notify ] ----------------> [Mail Server] <---> [Mail Client] { GitLab } ---/ ^ ^ | |-------< [ gitlab-mail-receiver ] <---- check --> |
原理
这个 Gem 会往 GitLab 的 Mailer Notify 里面覆盖几个函数,将邮件的 reply_to 改成类似这样your-mail+group/project!100@server.com, 其中group/project是项目名称,!100表示 Issue 编号 100。
这样用户收到的 GitLab 通知,回复地址将会带有 Issue 信息,邮件其实是回发到you-mail@server.com,gitlab-mail-receiver 这边将会解析出来,对应到 Issue/MergeRequest。
所以,你需要你的邮件服务器支持 + 号(PS: Gmail 是支持的)