将电子邮件分机消息发送给具有友好名称的多个收件人

Sending email-ext messages to multiple recipients with friendly names

问题

我正在使用带有 email-ext 插件的 Jenkins 将 HTML 格式的电子邮件发送到多个收件人组(分发列表)。

在配置收件人列表时,我使用了以下格式:

"Development" <dev@mysite.com>, "Software QA" <qa@mysite.com>, "Project Management" <pmo@mysite.com>

或不带引号…

Development <dev@mysite.com>, Software QA <qa@mysite.com>, Project Management <pmo@mysite.com>

使用这些配置,Jenkins 只会向最初列出的收件人发送电子邮件。

更新

行为似乎是相同的,只使用电子邮件地址,没有友好的名称。

dev@mysite.com, qa@mysite.com, pmo@mysite.com

问题

email-ext 发送邮件时是否可以使用这些友好的名称,或者我做出的假设结果不准确?

我找不到说明这两种方式的文档。

环境

詹金斯:2.57
电子邮件分机:2.57.2

如果 JENKINS Email-ext plugin 支持带有显示名称的扩展电子邮件格式,那将是

Project Management <pmo@mysite.com>

然而,emailext/recipients/EmailRecipientUtilsTest.java 不会在任何地方显示任何显示名称,这是其 支持的有力案例。

答案

事实证明,收件人列表中的一些电子邮件地址也列在 Jenkins/Email-Ext“排除的收件人”列表中。

此列表位于 Manage Jenkins >> Configure System >> Extended E-mail Notification >> Excluded Recipients

email-ext 或作业的控制台没有输出表明情况如此,因此需要时间进行追踪。

我可能会向插件所有者提出增强请求,以添加一些与指示是否在作业中配置了排除的收件人相关的控制台输出。

结论

明确一点:email-ext 支持使用以下格式的友好显示名称

Development <dev@mysite.com> "Development" <dev@mysite.com>

支持多个作为通常的逗号分隔列表。

为了从 jenkins 中获取一些电子邮件列表,我还必须使用友好的名称来执行此操作。以下是对我有用的语法。我声明了 primaryOwnerEmail 和 secondaryOwners [电子邮件列表] 并将它们拉到下面的 'to:' 行中。

    stage ("Notify Developers of Success"){
        env.ForEmailPlugin = env.WORKSPACE
        emailext attachmentsPattern: 'Checkmarx\Reports\*.pdf',
         to: "${primaryOwnerEmail},${secondaryOwners}",
         subject: "${env.JOB_NAME} - (${env.BUILD_NUMBER}) Finished Successfuly!",
         body: "Check console output at  ${env.BUILD_URL} to view the results"
    }