SMTP Send Failure
The article is relevant to you if any of the following are true:
- If you failed to receive the test message in Configuration→General→SMTP Settings
- If a user tried to send a message to a mailbox and it did not arrive
- If your MailArchiva status report did not arrive
- You received an error such as "SMTP client send message max retries exceeded" when sending a message
Connection does not exist
The resolution is as follows:
- Ensure that an SMTP client connection to the mail server is created in Configuration→Connections.
- In Configuration→Client Connections, ensure select the newly created SMTP connection is set as the default connection.
- Click save.
- Retest the connection in Configuration→Status Reports.
Incorrect SMTP client settings
In Configuration→Connections, ensure that an SMTP Client Connection has been added and configured correctly:
- Username, email address and password fields must all be specified.
- Email address must correspond with the username entered
- Username field must refer to a user with sufficient privileges to send emails on behalf of other users. Usually, this user would need to be an administrator.
Microsoft Exchange
In the SMTP client connection, it is important to specify a Microsoft Exchange will discard a received email with the same message ID if an email with the same message ID already exists in the system. To work around this problem, set the send strategy on the SMTP Connector to "New message ID". Save. Alternatively, if this does not work, set the send strategy to "Send as attachment".
THe send function requires the use of the Send As Right:
Communications problem
There may be a networking issue or firewall blocking the communications between MailArchiva and the mail server. On the MailArchiva server, drop to the command prompt and telnet to port 25 on the Exchange server. If no reply is received, there is a networking issue.
Connection security mismatch
For MailArchiva to communicate with your mail server, it needs to share the same connection security. For example, if your mail server only accepts TLS communications and your connection mode is set to plaintext only, obviously an error will be reported. To resolve, you need to switch the SMTP connection mode settings to TLS in MailArchiva.
Authentication method mismatch
The authentication method must be set to one that is supported by your mail server. Your mail server must at the very least be configured for either basic or integrated Windows authentication. Ensure that your mail server will accept integrated Windows authentication (Exchange) or basic authentication and specify "username@company.com" or "username" in the username field.
Exchange users: In the Exchange Manager application, enable both basic and integrated authentication. In MailArchiva's SMTP client settings, in the username field, enter in the form user@company.com.
Transmit connection does not exist
In Configuration→Connections ensure that the default Transmit connection is set to the same name as the newly created connection. If that doesn't work, then stop the MailArchiva service, edit the server.conf using a text editor (located in /etc/opt/mailarchiva/ROOT or C:\ProgramData\MailArchiva\ROOT\conf\), delete the line starting with "send.smtpconnection". Start the MailArchiva service. Thereafter, go to Configuration→Connections, and ensure the default send connector is selected and retest.
Emails go missing due To Exchange deduplication
Some versions of Microsoft Exchange are particularly aggressive at de-duplicating messages sent to it. That is, if there is already an equivalent email present on the Exchange server, Exchange will recognize it as a duplicate. When it does this, it accepts the message and disregards it. The user is left thinking that the message was never sent, when in fact it was. The resolution is to switch the send strategy in the SMTP Client Connection settings either to "new message ID" or "send as attachment".
Cannot send on behalf of user
The following error appears in the log when attempting to send an SMTP message to a user from the Search interface:
One way to resolve the above is to follow Option 3 to configure a connector to send mail using an SMTP relay.
Queue not started (Corrupted queue database)
When sending an email using the Search interface, the error "queue not started" appears. In this case, the queue database appears to be corrupted. The MailArchiva server must be shutdown cleanly. If it is not, there is a probability that the queue database will get corrupted.
Follow the steps below to resolve:
- Shutdown the MailArchiva service
- Delete the contents of the following directory:
/var/opt/mailarchiva/tomcat/webapps/ROOT/queue/smtpclient/* (Linux)
C:\ProgramData\MailArchva\Tomcat\webapps\ROOT\queue\smtpclient\* (Windows) - Start the MailArchiva service up
MailArchiva ALERT (ROOT): smtp client send message max retries exceeded
This alert indicates one of the following:
- The SMTP client connection settings are not setup correctly. You need to retest your SMTP client connection settings (see SMTP Connection)
- MailArchiva cannot contact your SMTP server. Thus, you need to check connectivity to SMTP server from the MailArchiva server.
- There is a corrupted queue database (see Corrupted Queue Database above) and restart the server.
Further debugging
If the above resolutions are not applicable, please temporarily disable archiving, enable Troubleshoot logging in Configuration→Logs, perform a Test Connection in the SMTP Client Connection. Examine the log file to see the communications between MailArchiva and the mail server. Usually, the SMTP commands and error code are displayed in the log file. It should give you an indication of why MailArchiva is unable to send mail.
Found this information useful? Visit mailarchiva.com to learn more about MailArchiva.