Как я могу установить адрес отправителя в Дженкинс? - PullRequest
207 голосов
/ 14 марта 2012

Я отправляю почту из Jenkins на анонимный SMTP-ретранслятор внутри страны.Затем этот ретранслятор безопасно отправляет почту для обмена через Интернет по протоколу TLS через порт 587. Транспорт работает отлично, проблема заключается в том, что Microsoft требует, чтобы адрес отправителя совпадал с именем входа для учетных данных аутентификации, которое совпадает с адресом электронной почты учетной записи.Например, ради, скажем, это foo@mycompany.com.Как сделать так, чтобы jenkins всегда отправлял почту с foo@mycompany.com?

Кстати, когда я говорю, что транспорт работает отлично, я имею в виду, что я могу перенести отформатированный файл электронной почты в каталог «Pickup»на сервере ретрансляции SMTP, и он правильно отправляется любому получателю при условии, что адрес отправителя: foo@mycompany.com.

Ответы [ 5 ]

341 голосов
/ 26 января 2013

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

93 голосов
/ 11 марта 2013

Управление Jenkins -> Настройка системы -> Расположение Jenkins -> Адрес электронной почты системного администратора

Вы можете выполнить поиск на странице «Расположение Jenkins», чтобы изменить значение по умолчанию адреса, который еще не настроен, на то, что вам нужно.

18 голосов
/ 13 декабря 2017

Есть два места для добавления "E-Mail Notificaitons"

  1. Глобальный уровень
  2. Местный уровень (уровень задания Дженкинса)

Чтобы установить уведомление по электронной почте на Глобальный уровень , выполните следующие шаги - 1) Перейти к управлению Дженкинс 2) Настроить систему 3) Дженкинс Расположение 4) Адрес электронной почты системного администратора

enter image description here

Чтобы установить уведомление по электронной почте на локальный уровень (для уровня заданий Jenkins), выполните следующие действия: 1) Нажмите на название вакансии (если есть) 2) нажать на кнопку «Настроить» 3) Затем найдите «Действие после сборки» 4) Укажите адрес электронной почты в разделе «Уведомление по электронной почте». 5) Сохраните изменения.

enter image description here

10 голосов
/ 14 марта 2012

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

Вы можете указать свой адрес электронной почты в виде Jenkins <foo@mycompany.com>.

8 голосов
/ 12 августа 2015

Если вам нужно сделать это без использования пользовательского интерфейса jenkins (например, при автоматизации установки 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()

Обратите внимание: я не писал этот сценарий (хотя я проверял его, и он работает), все заслуги Питера Хэллидея и его сайта с другими полезными сценариями здесь .

...