|This week's theme: Cool Tech tips|
Email Engine Trouble Shooting
Last week's article, "Email Engine Trouble Shooting Part 1," discussed logging, errors, and initial startup issues, focusing on helping you to identify, understand, and fix potential Email Engine issues. This week we continue with tips on email mail servers, AR System® stopped and/or restarted, and mailbox configuration changes.
Email Mail Server Problems
If the Email Daemon is able to connect to the AR System Server, but incoming email is not logged and outgoing emails have not been sent, errors should be logged in the form and on the console, assuming console logging has been enabled properly. Some of the errors you may encounter with the mailbox include:
- Unknown Host Exception
- Authentication Failed Exception
- Connect Exceptions, such as Connection Refused
In all the cases noted above, the problem is usually because the mailbox has not been configured properly in the AR System Email Mailbox Configuration form. The third error may also occur if the Email Server (such as Exchange) is too busy to handle the connection or it feels that you have connected too many times in a given time period (DOS attack). To resolve this issue, you should methodically check the following:
- Email Server Name
Confirm you can ping or connect from the system by using an email client, such as Microsoft® Express.
Confirm the email server supports the protocol you supplied
- Email Server Port
If you are unsure, press the Set Email Server Port button to force this value to be the default for that protocol. Each protocol has a different default value, unless the mail server has been configured differently, in which case you should check the value with your Email Server Administrator.
- User Name
Retype if necessary
When using the Email Daemon on Windows and when your primary Email Server is Microsoft Exchange and you have specified MAPI as the protocol to use, you may see the following error when starting the Email Daemon:
Application has started Version: 5.01.02 Drop 10
Using JRE: 1.4.1
8-Apr-2003 12:00:36 PM javax.mail.Session getService
This error occurs because the JavaMail System does not know what to use for MAPI and the library can't locate the correct class to use for MAPI. To fix this, if you haven't already, create a javamail.providers file in the lib directory of the JRE installation, which is the same location as the logging.properties file. Inside this file, add or find the following two lines:
On the first line add:
protocol=mapitransport; type=transport; class=com.remedy.mail.mapi.MAPITransport; email@example.com;
On the second line add:
protocol=mapistore; type=store; class=com.remedy.mail.mapi.MAPIStore; firstname.lastname@example.org;
This ensures that the JavaMail System uses the class created to support MAPI for both incoming and outgoing mailboxes. On Unix, where you may be using mbox as your protocol, you will see a similar error with the exception that the mapitransport string above will be labeled mbox. You can fix this in exactly the same way as on Windows, except you should add the following line to the javamail.providers file:
protocol=mbox; type=store; class=gnu.mail.providers.mbox.MboxStore; email@example.com;
AR System Stopped or Restarted
If you ever stop the AR System Server or even restart it, the Email Daemon will pick this up and stop all the appropriate threads until the server is started again. This means it will not receive or send any new emails. The time it takes before the Email Daemon restarts these threads is approximately 30 minutes. Note: The server will be down during this time. You can adjust the server's down time by changing or adding the following line to the EmailDaemon.properties file:
Where <num> is any valid integer and this parameter is measured in minutes. If you set <num> to 5, the Email Daemon will wait 5 minutes before checking to see if the server is running. Note: The name of the server is not used in this line. If you don't want to wait, you will need to restart the Email Daemon as soon as the AR System server starts.v
Mailbox Configuration Changes
If you make changes to the configuration of any mailbox or remove the mailbox by deleting the entry for this mailbox, you do not need to restart the Email Engine. The Email Engine will notice the change, but not immediately. The Email Daemon usually checks for configuration changes every 30 minutes. If you want to shorten this time, add or change the following line in the EmailDaemon.properties file:
Again, the <num> represents an integer value and the parameter is measured in minutes. Note: By shortening this time period, the Email Daemon will make calls to AR System more often. If you are not making many changes to the configuration, you should wait the preset 30 minutes or manually restart the entire Email Daemon system after making the configuration changes.
The same process applies when you make changes to an existing user, if you change the Internet email address on the form. The Email Daemon will notice this change based on the predefined interval.
The Email Daemon is a brand new system that may seem daunting at first. As you learn to identify issues, troubleshoot, and resolve them, as a developer, you will start to enjoy the power to create workflow using this new Email Daemon. We are continuously working on improving performance and resolving issues with each patch release.
Software Engineer, Core Engineering
Remedy employee for past 4 years. One of the key Remedy Migrator developers.
"One's first step in wisdom is to question everything - and one's last is to come to terms with everything" Georg Christoph Lichtenberg (1742 - 1799)