There are a number of different configuration settings you can tweak to help ensure e-mails are being sent out from WebSphere Commerce successfully and efficiently. This is not a troubleshooting walkthrough per se, but if you are encountering problems with sending e-mails, try going through the following steps to make sure you have the application configured correctly:
Designate a single node in your cluster of which to send out e-mails from using the SendTransactedMsg scheduled job. Running this job from multiple nodes simultaneously may inadvertently cause concurrency problems at the database. See the following document for information on how to configure this:
Configuring the scheduler to run a job on an instance or cluster member
When scheduling the SendTransactedMsg job in the Commerce Administration Console, set your interval to allow adequate time for the job to complete (the default is five minutes-- this is a safe choice in most cases, but may be shortened depending on your traffic). Currently, there is no mechanism within WebSphere Commerce to prevent a subsequent instance of the job from running in parallel, however this type of behavior can be achieved by implementing this customization.
UPDATE: In Fix Pack 8, a feature has been added to the scheduler to prevent multiple instances of the same job from running concurrently. To configure this, set the parameter maxThreads in the job parameters field (ex. maxThreads=1). Note that if this is configured and another job attempts to run concurrently, the second job will essentially be marked as "Failed" in the Scheduler.
If you are running WebSphere Commerce 22.214.171.124 or higher, ensure you have configured the connection pool settings for the JCAEmailConnector to match that of your SMTP server. If you are encountering runtime errors where the connector is unable to acquire a connection to the SMTP server, you most likely need to adjust these. See the following document:
SMTP Email connections behave differently between V7.0 and V6.0
If you see SMTP timeout errors, your firewall may be blocking No Operation (NOOP) messages. You can configure WebSphere Commerce to use RSET messages instead which may mitigate this problem. See the following documents:
Switch from NOOP to RSET to avoid SMTP communication hanging
Configuring validation for No Operation (NOOP) messages
If you are sending HTML e-mails but they are showing up as plaintext, ensure you have the Content-Type setting for the message type set to 'text/html' (without the quotes) in the WebSphere Commerce Administration Console.
Remember: Message types can be configured at both the Site and Store levels. The Store level settings will take precedence.
Configuring outbound email notification messages
For character encoding issues, be sure to go through the settings mentioned in my technote here:
Troubleshooting special character encoding issues in WebSphere Commerce
For additional SMTP settings (timeout, etc). try adjusting the JavaMail parameters in the <WAS_installdir>/lib/JCAEmailConnectionRequestInfo.properties. file. See the following document for more information:
Adding JavaMail parameters to the WebSphere Commerce Environment