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

このページの内容

お困りですか?

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

コミュニティに質問

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

注意: 次のすべての手順において、Jira システム管理者グローバル権限を持つユーザーとしてログインする必要があります。Jira 管理者は送信メールを有効または無効にすることができますが、SMTP メール サーバーを構成することはできません。

このページの内容:

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

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

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

    名前

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

    説明

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

    送信元アドレス

    Jira が送信する通知メッセージの "送信者アドレス (または "From") フィールド" に使用するメール アドレスを指定します (プロジェクトの設定で上書きされた場合を除く)。
    (info)このフィールドにはメールア ドレスのみを指定します (例: jira@example-company.com)。Jira はこの値を使用し、現在のユーザーに基づいて完全な "from" ヘッダーを構築します ("Joe Bloggs (Jira) <jira@example-company.com>")。
    "from" ヘッダーを変更するには、[管理] > [システム] > [一般設定] に移動し、[設定] から [電子メールの送信元] フィールドを編集します。

    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) 注意:

    • サーバーの起動スクリプト-Dmail システム プロパティ (mail.smtp.host または mail.smtp.port) を使用する場合、これらは上記のフォームで指定する設定を上書きします。さらに、必要に応じて -Dmail.smtp.localhost を設定し、SMTP サーバーに対して Jira が自分自身として報告するホスト名を手動で指定できます。

    • 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 の "recommended" ディストリビューションに組み込まれているものなど) には、JavaMail は付属しない場合があります。

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

  • アプリケーション サーバーにすでに mail-1.4.1.jar および activation-1.1.1.jar が含まれている場合、Jira アプリケーションのインストール ディレクトリの  <jira-application-dir>/WEB-INF/lib/ サブディレクトリから mail-1.4.1.jar および activation-1.1.1.jar削除します。
  • アプリケーション サーバーに mail-1.4.1.jar および activation-1.1.1.jar が含まれていない場合、 Jira アプリケーションのインストール ディレクトリ<jira-application-dir>/WEB-INF/lib/ サブディレクトリから、Jira インストール ディレクトリの lib/ サブディレクトリ (Jira の "推奨" ディストリビューションの場合) または Jira を実行するアプリケーション サーバーの lib/ サブディレクトリに、mail-1.4.1.jar および activation-1.1.1.jar移動させます。

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"
/>

トラブルシューティング

Jira でメール関連のデバッグを行う場合、起動時に -Dmail.debug=true プロパティを設定すると便利です。これにより、Jira でのメールのやり取りのプロトコルレベルの詳細を記録できるようになります。さらに、Jira のログ レベルを調節することで、サービスの実行タイミングやメールの処理方法を確認できます。

一般的な問題

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

ヘルプの活用

問題の解決が難しい場合、"Jira" プロジェクトでサポート ケースを作成してください。弊社がお手伝いいたします。

最終更新日 2018 年 8 月 16 日

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

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