Troubleshoot incoming mail in Jira Service Management
Platform Notice: Server and Data Center Only - This article only applies to Atlassian products on the server and data center platforms.
This article is about Jira Service Management Server version 2.3.0 and newer.
For Jira Service Management Cloud, see Troubleshooting issues with the email channel
For versions of Jira Service Management pre-2.3.0, see Troubleshooting Issues With The Email Channel
The way that Jira Service Management processes mail is different from how Jira processes mail. This means that the process for troubleshooting mail issues in Service Management is different from the process used to troubleshoot other Jira email issues that do not involve Service Management.
- Please visit Mail and Mail Handlers Troubleshooting for help with troubleshooting issues with Jira inbound email that do not involve Service Management.
Atlassian Support suggests using the most recent version of Jira Service Management that is compatible with your Jira version so that your instance includes the latest bug fixes and features.
Please refer to the following pages for a list of Jira Service Management versions and the versions of Jira they are compatible with
For basic troubleshooting purposes you can resolve most Jira Service Management mail issues through the connectivity and processing log. You can access the activity and process logs via Jira Administration (cog icon)>Add-ons>Jira Service Management>E- mail Settings.
In Service Management 3.x and later this will be found in Jira Administration (cog icon) > Applications > Jira Service Management - Email requests instead.
As a Jira administrator you can check the connectivity log of all e-mail channels via the UI by clicking Connectivity log.
Connectivity Log Details
Legend for log attributes:
- Date: This is the updated date of the log record.
- Email address: this is the email address of the mail channel. In the "view log" screen of Service Management, this field may be duplicate to the dialog title. However, if the email address was changed, the old log records will show the old email address and the new log records will show the new email address. If the mail channel is set up to connect to an folder named differently from "inbox," the folder name will be also displayed on this field. In summary, this field reflects historical mail channel name in the format "email_address" or "email_address/folder_name."
- Status: shows the outcome of a mail connection, including: Success, Suspended and Failure.
- Details: shows the failure reason of the mail connection. If the failed reason remains the same as the last time, it just updates field Date of the last failure log record.
- Since: For trouble shooting reason, users may need to know when the failure started to happen.
The errors in this log are pretty straight forward and are generally related to mail server/authentication errors.
SELECT * FROM AO_2C4E5C_MAILRUNAUDIT;
- You will need to add quotes around the table for postgres. Also modifying this table is not supported.
If you get "SUSPENDED" in connectivity status with the message "JEPP Mail puller job is set to OFF", this error message means your Email puller in Global Mail Settings has been turned off.
As a Jira administrator you can check the connectivity log of all e-mail channels via the UI by clicking processing log. In the processing log you can check how e-mail was processed (Requires the Jira admin to have project administrator permission to the service project).
Processing log details
Legend for log attributes:
- Date: shows when the email was processed.
- Status: shows the outcome of the process. Statuses include: Success, Rejected, and Failure.
- Details: shows the reason of an email has been rejection or failure.
- From: The sender.
- Mail subject: The subject of the e-mail.
- By handler: shows the name of the handler or filter that processed the e-mail.
Signup is not currently available
Public signup for that service project is not available. If a user try to send request email, this email will be rejected.
The mail was rejected because it is a bulk mail.
The email was sent from Jira
Message subject is empty
User sends an email with empty subject
BYE [UNAVAILABLE] Temporary System Error
This is a common error when the mail server is temporarily down. If the symptom persists for a long period of time, please contact Atlassian Support
There are several messages within configured time-frame which indicates potential mail loop.
Reason: sending too many emails from the same email address.
Workaround: as a Jira Admin, "gg" to "Incoming Mail". Scroll down to "Advanced Configuration" and change the Mail Threshold.
Accessing the information via the database:
SELECT * FROM AO_2C4E5C_MAILITEMAUDIT;
You will need to add quotes around the table for postgres. Also modifying this table is not supported.
Alwaysyour data before performing any modifications to the database. If possible, test any alter, insert, update, or delete SQL commands on a staging server first.
Global Mail Settings
There are two global mail settings - email puller and email processor - that are used only by Jira Service Management and do not impact any email settings you have set up for Jira.
These settings can be accessed by going to > System > Global mail settings .
- Email puller connects to your mail servers every minute and pulls the email data into the database. Emails with attachments larger than 25MB will not be pulled.
- Email processor filters the emails (e.g. to remove auto-replies and spam) using information stored in the database.
These two settings should be turned on in order for Email Channel to work properly.
There are three jobs involved in Service Management processing mail which are Global Puller, Global Processor, Cleaner Job. You can access scheduler details for all these jobs VIA the admin search (logged in as admin) by hitting the G key twice and typing Scheduler Details. You can click show more to see the schedule and other details.
Scheduled Job Details
Here is a legend and details for the three jobs involved in JEPP.
This is a scheduled job that is set to run every minute. When the puller job is triggered, each email inbox registered to JEPP will in turn has emails fetched . All unread emails in the inbox will be retrieved, including emails sent to cc, bcc, forwarded email, emails to mail list, etc. It will not pull e-mail in the case of Attachment size is too big (larger than 25MB).
Global Processor Puller
The Global Processor scheduler job runs every minute and processes all unprocessed mail items saved in the database by the Global Puller. This scheduler job runs independent to the Global Puller. JEPP currently has the following default filters to be reused:
- AutoReplyMailFilter - This filter rejects auto-replied emails. If Auto-Submitted header in an email has a value different from "no", that email will be considered as auto-replied emails. Ref: http://www.iana.org/assignments/auto-submitted-keywords/auto-submitted-keywords.xhtml
- BulkMailFilter - Some emails will be marked as "spam" by the mail server. This filter will reject those emails.
- DeliveryStatusMailFilter - Some mail service will send delivery status notification emails to let the sender know the status of the sent email. This filter will check whether the "multipart/report" header contains "report-type-delivery-status" OR in case of a bounce message, the "Return-Path" header of the email has null email address ("<>"). Ref:Bounce_message#Causes_of_a_bounce_message
- SentFromJiraMailFilter - This filter will check whether an email was sent from a Jira instance. All Jira notifications will have "X-Jira-FingerPrint" in their header.
This scheduler job runs daily in order to clean up old messages stored in the database.