gitlab-mail-receiver允许用户的GitLab支持电子邮件接收和解析电子邮件内容,并找到Issue/MergeRequest来创建回复的方式。
功能支持POP/IMAP协议;
独立进程启动服务,定期检测邮件处理回复;
收到邮件回复后会做的内容解析,定位Issue/MergeRequest并自动创建回复;
处理流程 /--> [ Notify ] ----------------> [Mail Server] <---> [Mail Client] { GitLab } ---/ ^ ^ | |-------< [ gitlab-mail-receiver ] <---- check --> |原理这个Gem会往GitLab的MailerNotify里面覆盖几个函数,将邮件的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是支持的)
评论