ChatGPT解决这个技术问题 Extra ChatGPT

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

我在内部从 Jenkins 向匿名 SMTP 中继发送邮件。然后,该中继通过端口 587 上的 TLS 安全地发送邮件以进行在线交换。传输工作完美,问题是 Microsoft 要求发件人地址与身份验证凭据登录名匹配,该登录名与帐户电子邮件地址相同。例如,假设这是 foo@mycompany.com。我怎样才能让詹金斯总是从 foo@mycompany.com 发送邮件?

顺便说一句,当我说传输工作完美时,我的具体意思是我可以将格式化的电子邮件文件放入 SMTP 中继服务器上的“拾取”目录中,并且如果发件人地址是 foo@mycompany,它会正确发送给任何收件人.com。

有谁知道如何在不使用 UI 的情况下做到这一点?也许通过 CLI 或 groovy 脚本甚至 jenkins 工作?
回答了我自己关于在没有下面的 UI 的情况下更改管理员电子邮件地址的问题。

F
Friso

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


使用从外部存储库安装的 Ubuntu 12.04、本地 exim4 和 Jenkins 1.565.1,我必须设置它才能使邮件传递工作。
如果我能给你 500 票,我会的!!!厉害,一下子解决了我的问题
A
Anshu Prateek

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

您可以在页面上搜索“Jenkins Location”以将尚未配置的地址的默认值更改为您想要的任何值。


管理 Jenkins -> 配置系统 -> Jenkins 位置 -> 系统管理员电子邮件地址,tnx
当作业失败时发送通知时,这是“发件人”地址吗?
S
Sanjeet Pandey

有两个地方可以添加“E-Mail Notificaitons”

全局级别 本地级别(Jenkins 工作级别)

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

https://i.stack.imgur.com/1GH7x.png

要在本地级别(每个 Jenkins 作业级别)设置电子邮件通知,请按照以下步骤操作 - 1)单击作业名称(如果存在) 2)单击“配置”3)然后查找“发布- build Action” 4) 在“E-mail Notification”下指定电子邮件地址。 5) 保存更改。

https://i.stack.imgur.com/yVnEe.png


在本地级别上,它不是发件人的地址,而是收件人的地址。我想如果不编写自定义脚本来发送电子邮件,就不可能在工作级别配置发件人的电子邮件地址。
这不能回答问题。
将我的电子邮件添加到 Jenkins 位置部分后,它对我有用。非常感谢。
Ł
Łukasz Rżanek

我不确定这是否是您的意思,但 Jenkins 使您能够为通知提供完整的发件人电子邮件地址。转到管理 jenkins,然后转到系统配置并找到名为电子邮件通知的部分。

您可以以 Jenkins <foo@mycompany.com> 的形式提供您的电子邮件地址。


截至 2015 年 4 月,管理 Jenkins > 配置系统 > 系统管理员电子邮件地址
m
mkobit

如果您需要在不使用 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()

请注意:我没有编写此脚本(尽管我已经对其进行了测试并且它有效),这一切归功于 Peter Halliday 和他的网站以及其他有用的 groovy 脚本 here


D
David Buck
import javax.mail.Message.RecipientType
import javax.mail.Address
import javax.mail.internet.InternetAddress
import javax.mail.internet.MimeMessage

msg.setFrom(new InternetAddress("john...@server.com"))

仅代码答案通常被认为是低质量的帖子。您能否就您的答案为何有效提供一些解释?

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅