如何在执行 shell 的一个命令中定义电子邮件通知的“发件人”字段

如何在执行 shell 的一个命令中定义电子邮件通知的“发件人”字段

我有带有执行 shell 的 Jenkins 管道 (illinXXX),它的哪一部分运行以下命令:

echo "LDAP server is down"|/usr/sbin/sendmail -t [email protected]

知道如何更改“发件人”字段吗?目前我从以下地方得到它:

[email protected]

答案1

知道如何更改“发件人”字段吗?

使用-f旗帜。

-fname

Sets the name of the ''from'' person

就像这样:

echo "foo" | sendmail -f maulinglawns -t root@localhost

结果:

来自 maulinglawns@debian10 2020 年 1 月 22 日星期三 21:11:24
返回路径:
收到:来自 debian10 (localhost [127.0.0.1])
        由 debian10 (8.15.2/8.15.2/Debian-14~deb10u1) 提供,ESMTP id 00MKBOq3005526
        为了 ; 2020 年 1 月 22 日星期三 21:11:24 +0100
收到:(来自 root@localhost)
        由 debian10 (8.15.2/8.15.2/提交) id 00MKBO0K005511
        对于 root@localhost; 2020 年 1 月 22 日星期三 21:11:24 +0100
日期:2020 年 1 月 22 日星期三 21:11:24 +0100
来自:maulinglawns@debian10
消息 ID:

答案2

在 Jenkins Pipeline 中,您不需要花钱来发送邮件。您可以使用官方邮件插件

emailext (
    subject: "A message from the Jenkins job ${env.JOB_NAME}",
    body: "LDAP Server is down",
    to: "[email protected]",
    from: "[email protected]",
)

相关内容