如何在Jenkins中设置发件人的地址?

CTO*_*arc 210 email smtp sender jenkins

我正在内部从Jenkins发送邮件到匿名SMTP中继.然后,该中继通过端口587上的TLS安全地将邮件发送到在线交换.传输工作正常,问题是Microsoft要求发件人地址匹配与帐户电子邮件地址相同的身份验证凭据登录名.例如,比如说这是foo@mycompany.com.如何让jenkins始终从foo@mycompany.com发送邮件?

顺便说一下,当我说传输工作完全正常时,我的意思是我可以将格式化的电子邮件文件放入SMTP中继服务器上的"分拣"目录中,如果发件人地址为foo @ mycompany,则将其正确发送给任何收件人.COM.

小智 345

Jenkins使用系统管理员电子邮件地址作为电子邮件通知的发件人地址.您可以在Manage Jenkins - > Configure System配置它.这是在该页面上的Jenkins Location标题下!此设置与电子邮件通知设置相关联并不是很明显,因为它不在配置页面上的电子邮件通知标题下.


Ans*_*eek 94

管理Jenkins - >配置系统 - > Jenkins位置 - >系统管理员电子邮件地址

您可以在页面中搜索"Jenkins Location"以将尚未配置的地址的默认值更改为您想要的任何内容.


小智 19

有两个地方可以添加"电子邮件通知"

  1. 全球水平
  2. 本地级别(詹金斯工作级别)

要在全局级别设置电子邮件通知,请执行以下步骤 - 1)转到管理Jenkins 2)配置系统3)Jenkins位置4)系统管理员电子邮件地址

在此输入图像描述

要在本地级别设置电子邮件通知(按照Jenkins工作级别),请按照以下步骤操作 - 1)单击作业名称(如果存在)2)单击"配置"3)然后查找"后 -构建操作"4)在"电子邮件通知"下指定电子邮件地址.5)保存更改.

在此输入图像描述

  • 在本地级别,它不是发件人的地址,而是收件人的地址。我想如果不编写自定义脚本来发送电子邮件,就不可能在作业级别配置发件人的电子邮件地址。 (3认同)

Łuk*_*nek 10

我不确定这是不是你的意思,但Jenkins允许你提供一个完整的发件人电子邮件地址来通知.转到管理jenkins,然后转到系统配置并找到名为电子邮件通知的部分.

您可以通过以下方式向您提供电子邮件地址Jenkins <foo@mycompany.com>.

  • 截至2015年4月,管理Jenkins>配置系统>系统管理员电子邮件地址 (7认同)

jdf*_*jdf 9

如果您需要在不使用jenkins UI的情况下执行此操作(例如在自动化jenkins设置中) - 您可以使用groovy脚本执行此操作.

import jenkins.model.*

def jenkinsLocationConfiguration = JenkinsLocationConfiguration.get()

jenkinsLocationConfiguration.setAdminAddress("[your admin name] <[your admin email address]>")
// example format -> .setAdminAddress("Jane Doe <foo@company_email.com>")    

jenkinsLocationConfiguration.save()
Run Code Online (Sandbox Code Playgroud)

请注意:我没有写这个剧本(虽然我已经测试它和它的作品),所有信贷彼得Halliday和他的网站与其他有用的Groovy脚本这里.