【发布时间】:2021-05-06 18:31:33
【问题描述】:
我在本地 iMac 上运行 Xcode Server Bots,但没有发送电子邮件通知。
我已经学习了很多教程,并且有 postfix 设置和工作。我可以使用命令成功发送电子邮件
sudo echo "Test sending email from Postfix" | mail -s "Test Postfix" xxxxxx@me.com
我的电子邮件已收到。
在Xcode > Preferences > Server & Bots > Mail 下我按照所有教程将所有内容留空。
对于我的机器人,在Triggers 下,我有一个Periodic Email Report,Schedule 设置为After each integration,并设置我的from、reply-to 和To 字段并勾选每个Notify On。
我使用命令监控smtp和smtp进程
sudo log stream --predicate '(process == "smtpd") || (process == "smtp")' --info
当我使用上述测试发送电子邮件时,会显示一条日志行。
但是,当我的 Xcode Bot 完成时,我什么也得不到。 Bot 日志显示
Feb 2 13:47:16 [596] <Info>: Executing trigger 'Periodic Email Report'
Feb 2 13:47:16 [596] <Info>: Executing trigger 'New Issue Email'
因此电子邮件报告不会触发任何类型的smtp。它甚至使用后缀吗?我可以记录其他内容以查看它是否达到了postfix 吗?
编辑 ------
我发现一些 sendmail 日志似乎显示 Xcode 没有使用 postdrop 的正确权限:
kernel Sandbox: sendmail(48548) deny(1) forbidden-exec-sugid
sendmail fatal: execvp /usr/sbin/postdrop: Operation not permitted
sendmail warning: command "/usr/sbin/postdrop -r" exited with status 1
sendmail fatal: xcode@<redacted>.com(450): unable to execute /usr/sbin/postdrop -r: Undefined error: 0
与我在网上找到的相比,我的postdrop 权限似乎是正确的:
-rwxr-xr-x 1 root wheel 570448 1 Jan 2020 postalias
-rwxr-xr-x 1 root wheel 466416 1 Jan 2020 postcat
-rwxr-xr-x 1 root wheel 823488 1 Jan 2020 postconf
-rwxr-sr-x 1 root _postdrop 588624 1 Jan 2020 postdrop
-rwxr-xr-x 1 root wheel 431904 1 Jan 2020 postfix
-rwxr-xr-x 1 root wheel 432032 1 Jan 2020 postkick
-rwxr-xr-x 1 root wheel 449424 1 Jan 2020 postlock
-rwxr-xr-x 1 root wheel 431872 1 Jan 2020 postlog
-rwxr-xr-x 1 root wheel 569632 1 Jan 2020 postmap
-rwxr-xr-x 1 root wheel 465872 1 Jan 2020 postmulti
-rwxr-sr-x 1 root _postdrop 588448 1 Jan 2020 postqueue
-rwxr-xr-x 1 root wheel 466784 1 Jan 2020 postsuper
我的/etc/group 文件中有_postdrop 用户:
_postdrop:*:28:
还是我读错了? sendmail用户是否需要postdrop的使用权限?
编辑 2 --------
这似乎是Big Sur 使根分区只读的问题。 sudo postfix set-permissions 做不到。
所以我想现在的问题是,如何为 Xcode Server 安装/使用不同的方法来发送电子邮件?
【问题讨论】:
-
This 将有助于发送电子邮件报告触发器。
-
很遗憾没有。我确认我可以从命令行发送邮件,它显示了
smtp日志,但是 Xcode 日志显示它正在执行电子邮件触发器,但根本没有任何东西通过 smtp。 -
@Darren 你查看我编辑的答案了吗?
-
@zeytin 是的。虽然我不能接受它作为正确答案,但我会奖励你的努力。我今天找到了一种从 Xcode 发送电子邮件的方法,并将在更多测试后尽快发布。
-
@Darren 没关系,期待你的帖子,谢谢!
标签: xcode email postfix-mta xcode-server xcode-bots