我正在从Jenkins向内部匿名SMTP中继发送邮件。然后,该中继通过端口587上的TLS安全地将邮件发送到在线交换。传输工作得很好,问题是微软要求身份验证地址与身份验证凭据登录名匹配,该登录名与帐户电子邮件地址相同。例如,假设这是email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)。我怎样才能使Jenkins总是从email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)发送邮件?
顺便说一句,当我说传输工作完美,我的意思是,我可以把一个格式化的电子邮件文件放入SMTP中继服务器上的“拾取”目录,它被正确地发送到任何收件人提供的发件人地址是email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)。
7条答案
按热度按时间b91juud31#
Jenkins使用 * 系统管理员电子邮件地址 * 作为电子邮件通知的发件人地址。您可以在 Manage Jenkins -> Configure System 下进行配置。这是在该页面上的 *Jenkins位置 * 标题下!由于此设置不在配置页面上的 E-mail notification 标题下,因此无法立即看出此设置与电子邮件通知设置相关。
ergxz8rk2#
管理Jenkins ->配置系统-> Jenkins位置->系统管理员电子邮件地址
您可以在页面中搜索“Jenkins Location”,将尚未配置的地址的默认值更改为您想要的任何值。
gc0ot86w3#
有两个地方可以添加“电子邮件通知”
1.全球一级
1.当地雇员(Jenkins职等)
要将电子邮件通知设置为全局级别,请执行以下步骤- 1)转到管理Jenkins 2)配置系统3)Jenkins位置4)系统管理员电子邮件地址
要在本地级别(每个Jenkins作业级别)设置电子邮件通知,请遵循以下步骤- 1)单击作业名称(如果存在)2)单击“配置”3)然后查找“构建后操作”4)在“电子邮件通知”下指定电子邮件地址。5)保存更改。
nwo49xxi4#
我不确定这是否是你的意思,但Jenkins使你能够提供一个完整的电子邮件地址的通知。转到 * 管理jenkins*,然后 * 系统配置 * 并找到名为 * 电子邮件通知 * 的部分。
您可以以
Jenkins < [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) >
的形式提供电子邮件地址。lymgl2op5#
如果你需要在不使用jenkins UI的情况下做到这一点(例如在自动化jenkins设置时)-你可以使用groovy脚本。
请注意:我没有写这个脚本(尽管我已经测试过它,它可以工作),所有的功劳都归功于Peter Halliday和他的网站,以及其他有用的groovy脚本here。
jchrr9hc6#
nwlls2ji7#
配置文件位于Jenkins主目录下的jenkins.model.JenkinsLocations.xml中。
如果你使用一个脚本来设置你的Jenkins。