SMTP メール サーバーを構成して通知を送信する
SMTP メールサーバーを定義または編集する
- In the upper-right corner of the screen, select Administration > System.
- メール > 送信メールを選択し、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 メール サーバーを参照します。これには次のメリットがあります。- セキュリティの向上: Jira 管理者は JIRA 管理インターフェイスからメールの詳細を確認できず、メールの詳細は Jira バックアップファイルに保存されません。
- その他の SMTP オプション: たとえば、
mail.smtp.userset
プロパティを設定して、NOOP の代わりに RSET に切り替えて接続をテストできます。 - 集中管理:: メールの詳細はデータベースの詳細と同じ場所で設定され、アプリケーションサーバー管理ツールから設定できます。
SMTP ホストの詳細を指定する
ほとんどの人は、このメールサーバーの SMTP ホストの詳細を Jira で直接していすることで、Jira の SMTP メールサーバーを指定します。
「SMTP メールサーバー」ページの「SMTP ホスト」セクション (上記) で、次のフォームフィールドを入力します。
サービスプロバイダー
(既存の SMTP メールサーバーを更新する場合は使用できません)Choose between using your own SMTP mail server (i.e. Custom), or either Gmail (i.e. Google Apps Mail / Gmail) or Yahoo! (i.e. Yahoo! Mail Plus) as the service provider for your SMTP mail server.
If you choose either Gmail or Yahoo! options and then switch back to Custom, some of the key fields in this section will automatically be populated with the relevant SMTP mail server settings for these service providers.プロトコル SMTP メールサーバーが標準 (例: SMTP ) またはセキュア (例: SECURE_SMTP ) のどちらであるかを指定します。
ホスト名
SMTP メール サーバーのホスト名または IP アドレスを指定します。例:
smtp.yourcompany.com
SMTP ポート
(オプション) SMTP ポート番号 (通常、SMTP は 25、SMTPS は 465)。このフィールドを空白にした場合、いずれかが推測されます。
タイムアウト
(オプション) タイムアウト時間をミリ秒単位で指定しまス。フィールドが空白のまま残された場合は、これを 10000 として処理します。ここで 0 または負の値を指定すると、Jira は SMTP サーバーの応答を無限に待機します。
TLS
(オプション) SMTP ホストがトランスポート レイヤー セキュリティ (TLS) プロトコルをしている場合はこのチェックボックスをオンにします。
ユーザ名
(オプション) SMTP ホストで認証が必要な場合、これらの認証資格情報のユーザー名をここで指定します。(ほとんどの会社サーバーは、非ローカルユーザーへメールをリレーするため、認証が必要です。)
パスワード
(Optional) Again, if your SMTP host requires authentication, spcify the password associated with the username you specified above.
When editing an existing SMTP mail server, select the Change Password checkbox to access and change this field.注意:
サーバーの起動スクリプトで
-Dmail
システム プロパティ (mail.smtp.host
またはmail.smtp.port
) を使用する場合、これらは上記のフォームで指定する設定を上書きします。さらに、必要に応じて-Dmail.smtp.localhost
を設定し、SMTP サーバーに対して Jira が自分自身として報告するホスト名を手動で指定できます。- SMTP は マルチパートコンテンツ タイプをサポートする必要があります。この機能がない場合、メールは送信されません。
- (オプション)テスト接続ボタンをクリックし、先ほど設定した 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/
ディレクトリを確認します。
- If the application server already contains
javax.mail-x.y.z.jar
,javax.mail-api-x.y.z.jar
, andactivation-x.y.z.jar
(wherex.y.z
defines the version), remove them from the <jira-application-dir>/WEB-INF/lib/ subdirectory of the Jira application installation directory. - If the application server does not contain
javax.mail-x.y.z.jar
,javax.mail-api-x.y.z.jar
, andactivation-x.y.x.jar
(wherex.y.z
defines the version), move them from the<jira-application-dir>/WEB-INF/lib/
subdirectory of the Jira application installation directory into the thelib/
subdirectory of the Jira installation directory (for 'recommended' distributions of Jira) or thelib/
subdirectory of the application server running Jira.
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" プロジェクトでサポート ケースを作成してください。弊社がお手伝いいたします。