Как установить адрес отправителя в Jenkins?

Я отправляю почту от Дженкинса на анонимное SMTP-реле внутри. Затем это реле надежно отправляет почту для обмена через TLS на порту 587. Транспорт работает отлично, проблема в том, что Microsoft требует, чтобы адрес отправителя совпал с именем входа в учетную запись аутентификации, которое совпадает с адресом электронной почты учетной записи. Например, саке, скажем, это [email protected] Как я могу заставить jenkins всегда отправлять почту с [email protected]?

Кстати, когда я говорю, что транспорт прекрасно работает, я имею в виду, что я могу отбросить форматированный файл электронной почты в каталог "Pickup" на сервере ретрансляции SMTP и правильно отправлен любому получателю, если адрес From [email protected]

Ответ 1

Jenkins использует адрес электронной почты системного администратора в качестве адреса отправителя для уведомления по электронной почте. Вы можете настроить это в разделе Управление Jenkins → Configure System. Это находится под заголовком Jenkins Location на этой странице! Не сразу становится очевидным, что этот параметр привязан к настройкам уведомлений по электронной почте, поскольку он не находится в заголовке уведомления электронной почты на странице конфигурации.

Ответ 2

Управление Jenkins → Конфигурация системы → Местоположение Jenkins → Адрес электронной почты системы управления

Вы можете выполнить поиск на странице "Jenkins Location", чтобы изменить значение по умолчанию для адреса, еще не настроенного на то, что вы хотите.

Ответ 3

Я не уверен, что это именно то, что вы имели в виду, но Jenkins позволяет вам предоставить полный адрес электронной почты отправителя для уведомлений. Перейдите в "Управление дженкинсами", затем "Конфигурация системы" и найдите раздел "Уведомление по электронной почте".

Вы можете указать адрес электронной почты в форме Jenkins <[email protected]>.

Ответ 4

Если вам нужно сделать это без использования пользовательского интерфейса jenkins (например, при автоматизации настройки jenkins), вы можете сделать это с помощью groovy script.

import jenkins.model.*

def jenkinsLocationConfiguration = JenkinsLocationConfiguration.get()

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

jenkinsLocationConfiguration.save()

Заметьте: я не писал этот script (хотя я его протестировал, и он работает), все они относятся к Peter Halliday и его веб-сайту с другими полезными groovy скриптами здесь.