A user was trying to send an email to a community of circa 350 users and was getting the error “The recipient list is too long for the browser to pass to your e-mail client.”
I looked at the “maxRecipients” value in the notifications-config.xml and tried to make sense of what that value means.
The Connections wiki states “The <maxRecipients> element defines the maximum number of people to whom you can send a notification at one time. The default value for this element is 50, but you can change it.” but the Configuring notifications in IBM Lotus Connections 2.0 describes it as “where the maxRecipients element parameter is the maximum number of recipients and is fixed for each message. It is recommended not to use more then 100 recipients for each message (when the parameter is not specified, the default value is 100). Note that, if we set this parameter to 20, and we send a notification to 100 recipients, the notification system will actually send 5 messages with 20 recipients each.”
I decided to test by decreasing the maxRecipients value on a test server (to avoid spamming people) and enable trace to watch what happens when the email is sent. This was done by:
- cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/
- ./wsadmin.sh -lang jython -user <> -password <>
- Change <maxRecipients> in /tmp/notification-config.xml to 2.
- Restart Communities.
Keep in mind you need to check out and in using the SAME wsadmin session.
I then enabled runtime trace using com.ibm.lotus.connections.core.notify.*=all which wasn’t helpful, it only showed that the email was sent to four recipients.
I then ticked “Enable debug mode” in the Connections ISC – Resources – Mail – Mail sessions – LC Notifications and tailed News SystemOut.log.
When repeating the test I saw that two separate emails were sent, each email sent to two recipients (represented by the maxRecipients=2 value.
It turns out that the user provided me with incorrect information. The error seen in the screen shot was actually caused by clicking on the link in the top left which is because Connections uses “mailto://” URLs to build the distribution list and with a community of this size the URL is large. In fact it is larger than the limit most web browsers can handle which is 2000 characters so the web page throws an error.
If the user clicks on the send button to use Connections and NOT their email client the email should be sent. This is a problem with the service integration bus which is causing various messaging problems which is used. In this case Communities needs to interact with News (which sends the email notification) and Communities also needs to get data from Files, in the Communities SystemOut.log I saw the following exception which leads me back to their problems with their SIBus which I blogged about previously.
[11/04/12 16:10:12:120 BST] 0000003d JMSPublisher E com.ibm.lconn.events.internal.publish.impl.JMSPublisher publishEvent
CLFWY0151E: A JMS Exception occurred when publishing an event with ID 3e07f8ff-52d6-4dce-8d92-da51538f4cc2 to topic COMMUNITIES/NOTIFY/communities.notification.broadcastmail
javax.jms.JMSException: CWSIA0067E: An exception was received during the call to the meth
od JmsMsgProducerImpl.sendMessage (#4): com.ibm.wsspi.sib.core.exception.SILimitExceededException: CWSIC8007E: An exception was caught from the remote server with Probe Id 3-008-0007. Exception: CWSIP0251E: The destination connections.events on messaging engine filescluster.000-ConnectionsBus is not available because the high limit 50,000 for the number of message
s for this destination has already been reached…
Until the problems with their SIBus are resolved the user will not be able to send their email.