Health Check: Mail Queue
About the health check
This health check ensures the healthiness of a mail queue. We consider a mail queue unhealthy if the oldest email it contains is stored there for at least the time specified by the threshold, which by default is 30 minutes. The value of the threshold can be overridden by using the mail.healthcheck.threshold.minutes
system property.
MailQueueService
to run less often than the threshold of the mail queue health check, you may see false positive health check failures.
Understanding the results
Confluence Server
Icon | Result | What this means |
---|---|---|
Pass | Emails are sent without any issues. | The mail queue doesn't contain any emails that have been there for longer than the set threshold. |
Warning | Emails haven’t been sent from the mail queue for at least | The mail queue contains at least one email that has been there for longer than the set threshold. |
Confluence Data Center
Icon | Result | What this means |
---|---|---|
Pass | Emails are sent without any issues on this node. If you got a notification about a failing mail queue health check, verify your other nodes. | The mail queue on this node doesn't contain any emails that have been there for longer than the set threshold. |
Warning | Emails haven’t been sent from the mail queue for at least | The mail queue on this node contains at least one email that has been there for longer than the set threshold. |
What happens if I ignore the warning?
If there’s at least one email that has been in the mail queue for longer than 30 minutes, and the default value of the mail queue service schedule wasn’t changed, your instance is most likely having trouble with sending emails regularly or isn’t sending them at all. This leads to delays in, for example, issue notifications or email communication between Confluence and users.
Troubleshooting
Problem | Proposed solution |
---|---|
Emails haven’t been sent from the mail queue due to the scheduling configuration of the mail queue service. |
By default, the cron value should be set to 60 seconds. If the service is scheduled to be executed less often, try to schedule it to run every minute. |
Emails haven’t been sent from the mail queue because the outgoing mail server is configured with an infinite timeout value. | Refer to How To Set the SMTP Timeout in Confluence. |
For more information on mail troubleshooting, check out this Knowledge base article.
Immediate mitigation step
As an immediate mitigation step, you might consider flushing the mail queue. To do this, go to Administration > General configuration > Mail queue. This action will bypass the scheduling of the mail queue service and will try to send all mail in the queue immediately.
This action should only be executed as a temporary workaround since it won't resolve the mail queue issue permanently
In some situations, manually flushing the mail queue won't help, and emails might still pile up in the queue. In such cases, don't try to flush the mail queue several times, as this action will generate more threads to be processed by the Confluence application and cause potential performance issues.
Providing data to Atlassian Support
If you still can't troubleshoot and fix the problem, create a support ticket at support.atlassian.com and attach the requested information to the ticket by following the steps below:
Follow the guidelines in Enable mail debugging mode in Confluence Data Center and Server.
Wait for about 15 minutes so that we can collect enough logs.
Go to Administration > General configuration > Troubleshooting and support tools > Create support zip.
Select Customize zip, then select Thread dumps, and select Save.
Select Create zip and download the support zip. In case you have a Data Center cluster, repeat this step for each node.
Take screenshots of the following pages:
The Administration > General configuration > Mail servers page after you select Edit.
The Administration > General configuration > Mail queue page.
Attach to the support ticket:
- The screenshots
- The support zips