SMTP メール サーバーを構成して通知を送信する
SMTP メールサーバーを定義または編集する
- 上部のナビゲーション バーから [管理者 ] > [システム] を選択します。
- メール > 送信メールを選択し、SMTP メールサーバーページを開きます。
SMTP メールサーバーが定義されていない場合、ページに「新しい SMTP メールサーバーを設定する」ボタンが表示されます。まだ定義されていない場合、SMTP メールサーバーの詳細が、右側の操作リンクのセットとともに表示されます。 「新しい SMTP メールサーバーの設定」ボタンをクリックして新しい SMTP メールサーバーを定義するか、編集する場合は既存の SMTP メールサーバー設定の右にある「編集」をクリックすると、「SMTP メールサーバーの追加/更新」ページが開きます。
このページの上のセクションを次のように入力します。
名前
この SMTP メールサーバー設定を識別する任意の名前を指定します。
説明
(オプション) SMTP メールサーバー設定およびその目的を説明する任意の説明を指定します。この説明は、「SMTP メールサーバー設定」ページの SMTP メールサーバーの名前の下に表示されます。
送信元アドレス
Jira が送信する通知メッセージの "送信者アドレス (または "From") フィールド" に使用するメール アドレスを指定します (プロジェクトの設定で上書きされた場合を除く)。
このフィールドにはメールア ドレスのみを指定します (例: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 メール サーバーを参照します。JDNI の場所の入力を有効にするには、[有効化] チェックボックスをオンにします。これにより、SMTP ホストの詳細フォームが無効になります。これには以下のメリットがあります。- セキュリティの向上: Jira 管理者は JIRA 管理インターフェイスからメールの詳細を確認できず、メールの詳細は Jira バックアップファイルに保存されません。
- その他の SMTP オプション: たとえば、
mail.smtp.userset
プロパティを設定して、NOOP の代わりに RSET に切り替えて接続をテストできます。 - 集中管理:: メールの詳細はデータベースの詳細と同じ場所で設定され、アプリケーションサーバー管理ツールから設定できます。
SMTP ホストの詳細を指定する
ほとんどの人は、このメールサーバーの SMTP ホストの詳細を Jira で直接していすることで、Jira の SMTP メールサーバーを指定します。
「SMTP メールサーバー」ページの「SMTP ホスト」セクション (上記) で、次のフォームフィールドを入力します。
サービスプロバイダー
(既存の SMTP メールサーバーを更新する場合は使用できません)SMTP メール サーバーのサービス プロバイダーとして独自の SMTP メール サーバー (カスタム) または Gmail (Google Apps Mail / Gmail )、Yahoo! (Yahoo! Mail Plus)、または Microsoft (Microsoft Exchange Online / Outlook) を使用するように選択します。
Gmail、Yahoo!、または Microsoft オプションを選択してから [カスタム] に戻すと、このセクションの主要なフィールドの一部に、これらのサービス プロバイダーに関連する SMTP メール サーバー設定が自動的に入力されます。
プロトコル SMTP メールサーバーが標準 (例: SMTP ) またはセキュア (例: SECURE_SMTP ) のどちらであるかを指定します。
ホスト名
SMTP メール サーバーのホスト名または IP アドレスを指定します。例:
smtp.yourcompany.com
SMTP ポート
(オプション) SMTP ポート番号 (通常、SMTP は 25、SMTPS は 465)。このフィールドを空白にした場合、いずれかが推測されます。
タイムアウト
(オプション) タイムアウト時間をミリ秒単位で指定しまス。フィールドが空白のまま残された場合は、これを 10000 として処理します。ここで 0 または負の値を指定すると、Jira は SMTP サーバーの応答を無限に待機します。
TLS
(オプション) SMTP ホストがトランスポート レイヤー セキュリティ (TLS) プロトコルをしている場合はこのチェックボックスをオンにします。
認証方式 メール サーバーの認証方法。OAuth 2.0 連携を構成している場合、それがリストに表示され、選択できるようになります。詳細については、送信リンクの設定を参照してください。 ユーザ名
SMTP ホストで認証が必要な場合、その認証情報のユーザー名をここで指定します (ほとんどの企業サーバーは、非ローカル ユーザーにメールをリレーするため、認証が必要です)。
OAuth 2.0 統合を構成している場合、このフィールドは必須です。入力しないと、「有効なユーザー名を入力してください」というエラー メッセージが表示されます。
パスワード
(オプション) ここでも、SMTP ホストで認証が必要な場合、上記のユーザー名と関連付られたパスワードを指定します。
既存の SMTP メール サーバーを編集する際は、[パスワードの変更] チェックボックスを選択してこのフィールドにアクセスし、変更します。注意:
サーバーの起動スクリプトで
-Dmail
システム プロパティ (mail.smtp.host
またはmail.smtp.port
) を使用する場合、これらは上記のフォームで指定する設定を上書きします。さらに、必要に応じて-Dmail.smtp.localhost
を設定し、SMTP サーバーに対して Jira が自分自身として報告するホスト名を手動で指定できます。- SMTP は マルチパートコンテンツ タイプをサポートする必要があります。この機能がない場合、メールは送信されません。
- (OAuth 認証方法についてのみ) [認証] を選択します。サービス プロバイダーのサイトにリダイレクトされ、アカウントにログインして接続を許可します。これを完了すると、アプリに再びリダイレクトされます。
- [テスト接続] を選択し、先ほど設定した SMTP メール サーバーと Jira が通信できることを確認します。
- [追加] または [更新] を選択し、Jira の SMTP メール サーバー設定を保存します。
「JNDI の場所」を指定する
SMTP ホストの詳細を Jira に直接指定する代わりに、アプリケーションサーバー内でそれらを設定し、JNDI 経由で事前設定されたメールセッションを参照できます。
[SMTP メール サーバーの追加/更新] ページの [JNDI の場所] セクション (上記) の [JNDI の場所] フィールドで、メールを送信する際に使用する javax.mail.Session
オブジェクトの場所を指定します。この先頭には、java:comp/env/
プレフィクスが付きます。
JNDI の場所の設定
Jira で指定する JNDI の場所は、Jira のアプリケーション サーバーと設定によって異なります。JNDI の場所は一般的に、Jira を実行するアプリケーション サーバー内で設定されます。そのため、JNDI の場所を設定した後には Jira を再起動して Jira で利用できるようにする必要があります。
たとえば、Tomcat 6 (Jira の "推奨" ディストリビューションにバンドルされるアプリケーション サーバー) の場合、JNDI の場所は java:comp/env/mail/JiraMailServer
となり、Jira アプリケーションのインストール ディレクトリの conf/server.xml
の <Context/>
ノード内に次のセクションを追加する必要があります。
<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/
ディレクトリを確認します。
- アプリケーション サーバーにすでに
javax.mail-x.y.z.jar
、javax.mail-api-x.y.z.jar
、およびactivation-x.y.z.jar
(x.y.z
はバージョンを定義) が含まれている場合は、それらを Jira アプリケーションのインストール ディレクトリの<jira-application-dir>/WEB-INF/lib/
サブディレクトリから削除してください。 - アプリケーション サーバーに
javax.mail-x.y.z.jar
、javax.mail-api-x.y.z.jar
、およびactivation-x.y.z.jar
(x.y.z
はバージョンを定義) が含まれていない場合は、それらを Jira アプリケーションのインストール ディレクトリの<jira-application-dir>/WEB-INF/lib/
サブディレクトリから、Jira インストール ディレクトリのlib/
サブディレクトリ (Jira の推奨ディストリビューション) または Jira を実行しているアプリケーション サーバーのlib/
サブディレクトリに移動してください。
SMTP over SSL
メールサーバーが SSL をサポートしている場合、Jira とメールサーバーの間の電子メール通信を、SSL 経由で暗号化できます。
最初に、Java キーストアにSMTP サーバー証明書をインポートする必要があります。プロセスは、「Active Directory への SSL 接続の設定」ページに記載されています。
重要なメモ:証明書をインポートしない場合、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" プロジェクトでサポート ケースを作成してください。弊社がお手伝いいたします。