web-dev-qa-db-ja.com

Jenkinsで送信者のアドレスを設定するにはどうすればよいですか?

Jenkinsから内部的に匿名SMTPリレーにメールを送信しています。そのリレーは、ポート587でTLSを介してオンラインで安全にメールを送信します。トランスポートは完全に機能します。問題は、送信者アドレスがアカウントの電子メールアドレスと同じ認証資格情報ログイン名と一致することを要求することです。たとえば、これが[email protected]であるとします。ジェンキンスが常に[email protected]からメールを送信するようにするにはどうすればよいですか?

ところで、トランスポートが完全に機能すると言うとき、具体的には、フォーマットされた電子メールファイルをSMTPリレーサーバーの「ピックアップ」ディレクトリにドロップし、Fromアドレスがfoo @ mycompanyである場合、すべての受信者に適切に送信されます.com。

207
CTOMarc

Jenkinsは、システム管理者の電子メールアドレスを電子メール通知の送信者アドレスとして使用します。これはJenkinsの管理->システムの設定で設定できます。これは、そのページのJenkins Locationヘッダーの下にあります!この設定が設定ページのE-mail notificationヘッダーの下にないため、この設定が電子メール通知設定に結び付けられていることはすぐにはわかりません。

341
Friso

Jenkinsの管理->システムの構成-> Jenkinsの場所->システム管理者の電子メールアドレス

「Jenkins Location」のページを検索して、まだ構成されていないアドレスのデフォルト値を必要なものに変更できます。

92
Anshu Prateek

「電子メール通知」を追加する場所は2つあります

  1. グローバルレベル
  2. ローカルレベル(Jenkinsジョブレベル)

グローバルレベルで電子メール通知を設定するには、以下の手順に従ってください-1)Jenkinsの管理2)システムの構成3)Jenkinsの場所4)システム管理者のメールアドレス

enter image description here

電子メール通知をローカルレベル(Jenkinsジョブレベルごと)に設定するには、以下の手順に従います-1)ジョブ名をクリックします(既存の場合) )2)[構成]をクリックします3)次に、[ビルド後のアクション]を探します4)[電子メール通知]で電子メールアドレスを指定します。 5)変更を保存します。

enter image description here

18
Sanjeet Pandey

それが意図したものかどうかはわかりませんが、Jenkinsでは通知用の完全な送信者の電子メールアドレスを提供できます。 jenkinsの管理、次にシステム構成に移動し、電子メール通知というセクションを見つけます。

Jenkins <[email protected]>の形式でメールアドレスを提供できます。

10
Łukasz Rżanek

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と彼のWebサイトには他の役立つgroovyスクリプト here があります。

8
jdf