您可以按照 stock post-receive 示例脚本中的注释中的描述执行此操作,但 Windows 版 Git 提供 msmtp 而不是 sendmail 除外。如果您将贡献的脚本从contrib/hooks粘贴到 post-receive 脚本中,那么您只需要进行一些更改。首先,您需要指定一个 smtp 服务器,因此我建议添加配置变量 sendemail.smtpserver 并将其设置为您的服务器名称。如果您需要身份验证等,请查找这些配置变量并修改脚本以使用它们。
在粘贴的电子邮件脚本中 - 替换sendmail
为 msmtp,如下所示
send_mail()
{
if [ -n "$envelopesender" ]; then
msmtp --host="$smtpserver" -t -f "$envelopesender"
else
msmtp --host="$smtpserver" -t
fi
}
最后,在文件末尾附近是读取 git config 变量的部分,因此添加一个新行来读取服务器值:
smtpserver=$(git config sendemail.smtpserver)
With those two changes in place, the script works fine for me, sending mail to the hooks.mailinglist
account on push.