Jenkins에서 내부적으로 익명의 SMTP 릴레이로 메일을 보내고 있습니다. 그런 다음이 릴레이는 포트 587에서 TLS를 통해 온라인으로 교환하기 위해 메일을 안전하게 보냅니다. 전송은 완벽하게 작동합니다. 문제는 Microsoft가 보낸 사람 주소가 계정 전자 메일 주소와 동일한 인증 자격 증명 로그인 이름과 일치해야한다는 것입니다. 예를 들어 foo@mycompany.com이라고 가정하십시오. jenkins가 항상 foo@mycompany.com에서 메일을 보내도록하려면 어떻게해야합니까?
BTW는 전송이 완벽하게 작동한다고 말할 때 특별히 의미하는 바는 형식이 지정된 전자 메일 파일을 SMTP 릴레이 서버의 “픽업”디렉토리에 놓을 수 있으며 보낸 사람 주소가 foo @ mycompany 인 경우 모든 수신자에게 제대로 전송된다는 것입니다. .com.
답변
Jenkins는 시스템 관리자 이메일 주소를 이메일 통지 발신자 주소로 사용합니다. Jenkins 관리-> 시스템 구성에서이를 구성 할 수 있습니다 . 이것은 해당 페이지 의 Jenkins Location 헤더에 있습니다! 이 설정이 구성 페이지 의 전자 메일 알림 헤더 아래에 있지 않기 때문에 전자 메일 알림 설정과 연결되어 있는지 즉시 알 수 없습니다 .
답변
Jenkins 관리-> 시스템 구성-> Jenkins 위치-> 시스템 관리자 이메일 주소
“Jenkins Location”페이지에서 아직 구성되지 않은 주소의 기본값을 원하는 것으로 변경할 수 있습니다.
답변
“전자 메일 알림”을 추가 할 수있는 두 곳이 있습니다
- 글로벌 수준
- 로컬 레벨 (Jenkins 작업 레벨)
글로벌 수준 에서 전자 메일 알림을 설정 하려면 다음 단계를 수행하십시오. 1) Jenkins 관리로 이동 2) 시스템 구성 3) Jenkins 위치 4) 시스템 관리자 전자 메일 주소
이메일 알림을 로컬 수준 (Jenkins 작업 레벨 별)으로 설정하려면 아래 단계를 따르십시오-1) 작업 이름 (있는 경우)을 클릭하십시오. 2) “구성”을 클릭하십시오. 3) “포스트- 빌드 조치 “4)”이메일 알림 “에서 이메일 주소를 지정하십시오. 5) 변경 사항을 저장하십시오.
답변
그것이 당신이 의도 한 것인지 확실하지 않지만 Jenkins를 사용하면 알림을 위해 전체 발신자 전자 메일 주소를 제공 할 수 있습니다. jenkins 관리로 이동 한 다음 시스템 구성으로 이동하여 이메일 알림 섹션을 찾으십시오 .
의 형식으로 이메일 주소를 제공 할 수 있습니다 Jenkins <foo@mycompany.com>
.
답변
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와 그의 웹 사이트에 다른 유용한 그루비 스크립트가 있습니다 .