SMTP メール サーバーを構成して通知を送信する

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

JIRA による、さまざまなイベントに関する通知の送信を有効にするには、最初に JIRA で SMTP メールサーバーを設定する必要があります。

Note: For all of the following procedures, you must be logged in as a user with the JIRA System Administrators global permissionJIRA Administrators can enable or disable outgoing mail, but not configure SMTP mail servers.

このページの内容:

SMTP メールサーバーを定義または編集する

  1. Choose > System
  2. メール > 送信メールを選択し、SMTP メールサーバーページを開きます。
    (info)SMTP メールサーバーが定義されていない場合、ページに「新しい SMTP メールサーバーを設定する」ボタンが表示されます。まだ定義されていない場合、SMTP メールサーバーの詳細が、右側の操作リンクのセットとともに表示されます。
  3. 新しい SMTP メールサーバーの設定」ボタンをクリックして新しい SMTP メールサーバーを定義するか、編集する場合は既存の SMTP メールサーバー設定の右にある「編集」をクリックすると、「SMTP メールサーバーの追加/更新」ページが開きます。

  4. このページの上のセクションを次のように入力します。

    名前

    この SMTP メールサーバー設定を識別する任意の名前を指定します。

    説明

    (オプション) SMTP メールサーバー設定およびその目的を説明する任意の説明を指定します。この説明は、「SMTP メールサーバー設定」ページの SMTP メールサーバーの名前の下に表示されます。

    送信元アドレス

    Specify the email address used in the 'sender address' (or 'from') field of notification messages sent by JIRA, unless overridden in a project configuration.
    (info) Only specify an email address for this field (e.g. jira@example-company.com). JIRA will use this value to construct the full 'from' header based on the current user ("Joe Bloggs (JIRA) <jira@example-company.com>").
    To change the 'from' header, go to Administration > System > General Configuration and (under Settings), edit the Email from field.

    E メールの接頭語

    このサーバーから送信するメールの件名で使用する文字列を、接頭語として指定します。これにより、ユーザーは、この接頭語に基づいて JIRA からのメール通知をフィルターできるため便利です。

    スクリーンショット : SMTP メールサーバーの追加 (または更新)

SMTP メールサーバーのホスト名または JNDI の場所を指定します。

SMTP メールサーバーの追加/更新ページの 2 つ目の部分では、JIRA がメールを送信する SMTP メールサーバーのサーバーの詳細を指定します。これは 2 つの方法があります。次のいずれかを実行します。

  • SMTP メールサーバーのSMTP ホストの詳細
    または:
  • javax.mail.Session オブジェクトのJNDI の場所を指定します  — つまり、JNDI を使用して、アプリケーション サーバーで設定済みの SMTP メール サーバーを参照します。これには次のメリットがあります。
    • セキュリティの向上: JIRA 管理者は JIRA 管理インターフェイスからメールの詳細を確認できず、メールの詳細は JIRA バックアップファイルに保存されません。
    • その他の SMTP オプション: たとえば、mail.smtp.userset プロパティを設定して、NOOP の代わりに RSET に切り替えて接続をテストできます。
    • 集中管理:: メールの詳細はデータベースの詳細と同じ場所で設定され、アプリケーションサーバー管理ツールから設定できます。

SMTP ホストの詳細を指定する

ほとんどの人は、このメールサーバーの SMTP ホストの詳細を JIRA で直接していすることで、JIRA の SMTP メールサーバーを指定します。

  1. SMTP メールサーバー」ページの「SMTP ホスト」セクション (上記) で、次のフォームフィールドを入力します。

    サービスプロバイダー
    (既存の SMTP メールサーバーを更新する場合は使用できません)

    SMTP メールサーバーのサービスプロバイダーとして独自の SMTP メールサーバー (例: カスタム) または Gmail (例: Google Apps Mail / Gmail) または Yahoo! (例: Yahoo! Mail Plus) するよう選択します。
    (info)Gmail または Yahoo! オプションのいずれかを選択し、カスタムに戻す場合は、これらのサービスプロバイダーに関連する SMTP メールサーバー設定を使用してこのセクションの主要なフィールドが自動的に生成されます。

    プロトコル

    SMTP メールサーバーが標準 (例: SMTP ) またはセキュア (例: SECURE_SMTP ) のどちらであるかを指定します。

    ホスト名

    SMTP メール サーバーのホスト名または IP アドレスを指定します。例: smtp.yourcompany.com

    SMTP ポート

    (オプション) SMTP ポート番号 (通常、SMTP は 25、SMTPS は 465)。このフィールドを空白にした場合、いずれかが推測されます。

    タイムアウト

    (オプション) タイムアウト時間をミリ秒単位で指定しまス。フィールドが空白のまま残された場合は、これを 10000 として処理します。ここで 0 または負の値を指定すると、JIRA は SMTP サーバーの応答を無限に待機します。

    TLS

    (オプション) SMTP ホストがトランスポート レイヤー セキュリティ (TLS) プロトコルをしている場合はこのチェックボックスをオンにします。

    ユーザ名

    (オプション) SMTP ホストで認証が必要な場合、これらの認証資格情報のユーザー名をここで指定します。(ほとんどの会社サーバーは、非ローカルユーザーへメールをリレーするため、認証が必要です。)

    パスワード

    (オプション) ここでも、SMTP ホストで認証が必要な場合、上記のユーザー名と関連付られたパスワードを指定します。
    (info)既存の SMTP メールサーバーを編集する際は、パスワードの変更チェックボックスを選択してこのフィールドにアクセスし、変更します。

    (warning) 注意:

    • If your server's startup script uses the -Dmail system properties (e.g. mail.smtp.host or mail.smtp.port), they will override the settings that you specify in the above form. Additionally, if necessary you can manually specify the host name that JIRA reports itself as to the SMTP server by setting -Dmail.smtp.localhost

    • SMTP は マルチパートコンテンツ タイプをサポートする必要があります。この機能がない場合、メールは送信されません。
  2. (オプション)テスト接続ボタンをクリックし、先ほど設定した SMTP メールサーバーと JIRA が通信できることを確認します。
  3. 追加」(または「更新」) ボタンをクリックして、JIRA の SMTP メールサーバー設定を保存します。

「JNDI の場所」を指定する

SMTP ホストの詳細を JIRA に直接指定する代わりに、アプリケーションサーバー内でそれらを設定し、JNDI 経由で事前設定されたメールセッションを参照できます。

[SMTP メール サーバーの追加/更新] ページの [JNDI の場所] セクション (上記) の [JNDI の場所] フィールドで、メールを送信する際に使用する javax.mail.Session オブジェクトの場所を指定します。この先頭には、java:comp/env/ プレフィクスが付きます。

JNDI の場所の設定

<Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false">
 ...
   <Resource name="mail/JiraMailServer"
     auth="Container"
     type="javax.mail.Session"
     mail.smtp.host="mail.yourcompany.com"
     mail.smtp.port="25"
     mail.transport.protocol="smtp"
     mail.smtp.auth="true"
     mail.smtp.user="jirauser"
     password="mypassword"
   />
 ...
</Context>

または、認証が不要な場合 (例: localhost 経由や、会社内でのみ送信している場合):

<Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false">
 ...
   <Resource name="mail/JiraMailServer"
     auth="Container"
     type="javax.mail.Session"
     mail.smtp.host="localhost"
     mail.smtp.port="25"
     mail.transport.protocol="smtp"
   />
 ...
</Context>

Apache Tomcat 以外のアプリケーションサーバー (JIRA 設定でサポートされていないサーバー) で JIRA を実行している場合、SMTP メールサーバーに JNDI の場所を設定する場合と同様の方法を、そのアプリケーションサーバーに適用する必要があります。

接続で問題が発生する場合は、mail.debug="true" パラメーターを <Resource/> 要素 (上記) に追加します。これにより、接続をテストする際にSMTP レベルの "デバッグ" の詳細が表示されます。

JavaMail クラスの移動

また、JavaMail クラス (一般的には JAR ライブラリファイル) がアプリケーションサーバーの classpath 内に存在し、JIRA の JAR ライブラリファイルと競合しないことを確認する必要があります。これは、アプリケーションサーバー自体 (JIRA ではない) が SMTP 接続を確立し、アプリケーションサーバーは JIRA のクラスローダーで JIRA ライブラリを確認できないために必要です。

一部のオペレーティングシステムでは、アプリケーションサーバーで JavaMail クラスをバンドルできます (例: Tomcat in Red Hat Enterprise Linux) など。これにより、JavaMail クラスの JIRA のコピーと競合し、次のようなエラーが発生する場合があります。

java.lang.NoClassDefFoundError: javax/mail/Authenticator

または

java.lang.IllegalArgumentException: Mail server at location [java:comp/env/mail/JiraMailServer] is not
       of required type javax.mail.Session.

Apache Tomcat などの軽量のアプリケーションサーバー (JIRA の「推奨」配布版に組み込まれているものなど) には、JavaMail は付属しません。

競合を防ぐため、アプリケーションサーバーの lib/ ディレクトリを確認します。

  • If the application server already contains mail-1.4.1.jar and activation-1.1.1.jar, then just remove mail-1.4.1.jar and activation-1.1.1.jar from the <jira-application-dir>/WEB-INF/lib/ subdirectory of the JIRA application installation directory.
  • If the application server does not contain mail-1.4.1.jar and activation-1.1.1.jar, then move the mail-1.4.1.jar and activation-1.1.1.jar from the <jira-application-dir>/WEB-INF/lib/ subdirectory of the JIRA application installation directory into the the lib/ subdirectory of the JIRA installation directory (for 'recommended' distributions of JIRA) or the lib/ subdirectory of the application server running JIRA.

SMTP over SSL

メールサーバーが SSL をサポートしている場合、JIRA とメールサーバーの間の電子メール通信を、SSL 経由で暗号化できます。 

最初に、Java キーストアにSMTP サーバー証明書をインポートする必要があります。プロセスは、「Active Directory への SSL 接続の設定」ページに記載されています。

(warning) 重要なメモ:証明書をインポートしない場合、JIRA はメールサーバーとの通信を行いません。

次に、メール サーバーの接続プロパティを編集し、starttls および SSLSocketFactory を指定します。{$JIRA_INSTALL}/conf/server.xml (この例では Gmail のサーバーを使用) の例:

<Resource name="mail/GmailSmtpServer"
 auth="Container"
 type="javax.mail.Session"
 mail.smtp.host="smtp.gmail.com"
 mail.smtp.port="465"
 mail.smtp.auth="true"
 mail.smtp.user="myusername@gmail.com"
 password="mypassword"
 mail.smtp.starttls.enable="true"
 mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"
/>

トラブルシューティング

A useful tip for debugging mail-related problems in JIRA is to set the -Dmail.debug=true property on startup. This will cause protocol-level details of JIRA's email interactions to be logged. Additionally, turning up JIRA's log level will show when the service is running and how mails are processed.

一般的な問題

  • JIRA が電子メールの作成や送信、または電子メールから課題やコメントを作成していない場合、JIRA インストールでOutOfMemory エラーが発生する可能性があります。OutOfMemory エラーでログファイルを確認してください。OutOfMemory エラーが発生した場合、JIRA を再起動し、エラーを調査してください
  • 受信メールが単純に消えているのがわかった場合は、誤ってJIRA の 2 つ目のコピーを起動 (例: ステージング環境などで) していないかを確認します。これにより、電子メールメッセージがダウンロードおよび削除されます。メールの処理を防ぐために設定する必要があるフラグについては、「データの復元」ページを参照してください。
  • 「メールリレー」エラーを受け取った場合は、JIRA のSMTP メールサーバーの設定ページで、SMTP ホストユーザー名パスワードが指定されていることを確認してください。

ヘルプの活用

自分で問題を解決できない場合は、「JIRA」プロジェクトでサポートケースを作成してください。弊社がお手伝いいたします。

最終更新日 2018 年 7 月 13 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.