Documentation for JIRA 4.4. Documentation for other versions of JIRA is available too.
To enable JIRA to send notifications about various events, you need to first configure JIRA to send SMTP email.
This will display the "Add SMTP Mail Server" screen. Complete the top section as follows:
名前 | An arbitrary name to associate with this email server configuration. |
説明 | (Optional) Email server description. |
送信元アドレス | The email address that outgoing mails will appear to have come from (unless overridden per project). |
E メールの接頭語 | The subject of emails sent from this server will use this string as a prefix. This is useful for your users so that they can filter their email. |
Screenshot: Add SMTP Mail Server
On this page:
The information on this page does not apply to JIRA OnDemand.
The second part of the screen specifies the Server Details of the SMTP server to which JIRA will send mail. There are two ways you can do this. Either:
mail.smtp.userset
property.Most people configure SMTP details directly in JIRA. The form fields are as follows:
ホスト名 | Hostname or IP address of your SMTP server. Eg. |
SMTP ポート | The SMTP port, usually 25. |
タイムアウト | The timeout period in milliseconds, defaults to 10000. |
TLS | Select this check-box if your SMTP host uses the Transport Layer Security protocol. |
ユーザ名 | Username to connect as, if your SMTP host requires authentication. (Most company servers require authentication to relay mail to non-local users.) |
パスワード | Password for username (if required by your SMTP host). |
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
Once done, click 'Update' and then "Send a Test Email" to test the connection details.
As an alternative to specifying mail details directly in JIRA, you can configure them in your application server, and then look up a preconfigured mail session via JNDI.
On the 'Add SMTP Mail Server' screen (see above), complete the following form field:
JNDI Location | The JNDI location of a javax.mail.MailSession object to use when sending email. This will begin with the prefix |
The JNDI Location will depend on your application server and configuration. For example, in Tomcat 6 (the default application server that is bundled with JIRA Standalone ), your JNDI Location would be java:comp/env/mail/JiraMailServer, and you would add the following section in conf/server.xml
, inside the <Context> node:
<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>
Or if you don't require authentication (e.g. if you are sending via localhost, or only internally within the company):
<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>
The format for other application servers will be similar. For details please see the Transaction Factory documentation.
If you have problems connecting, add a mail.debug="true" parameter, which will let you see SMTP-level details when testing the connection.
You will also need to ensure that the JavaMail classes are present in your application server's classpath, and do not conflict with JIRA's copy. This is necessary because the application server is establishing the SMTP connection, not JIRA, and the application server will not see the JARs in JIRA's classloader.
Some operating systems may ship the JavaMail classes with application servers (eg. Tomcat in Red Hat Enterprise Linux). This may conflict with JIRA's copy of the JavaMail classes, resulting in errors like:
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.
Lighter app servers — Tomcat (including JIRA Standalone) — do not always come with JavaMail.
競合を防ぐため、アプリケーションサーバーの lib/
ディレクトリを確認します。
mail-1.4.1.jar
and activation-1.1.1.jar
, then just remove WEB-INF/lib/mail-1.4.1.jar
and WEB-INF/lib/activation-1.1.1.jar
from the JIRA webapp.mail-1.4.1.jar
and activation-1.1.1.jar
, then move JIRA's WEB-INF/lib/mail-1.4.1.jar
and WEB-INF/lib/activation-1.1.1.jar
into the application server's lib/ directory.メールサーバーが SSL をサポートしている場合、JIRA とメールサーバーの間の電子メール通信を、SSL 経由で暗号化できます。
Firstly, you will need to import the SMTP server certificate into a Java keystore. The process is described on the Connecting to SSL Services page.
Important note: Without importing the certificate, JIRA will not be able to communicate with your mail server.
Secondly, edit your mail server connection properties and specify starttls
and SSLSocketFactory
. From {$JIRA_INSTALL}/conf/server.xml
(this example uses Gmail's server):
<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.
If you cannot resolve a problem yourself, please create a support case in the 'JIRA' project and we will assist.