I've been using Maximo's email listener to help shift requests getting emailed directly to the Maintenance Manager and Supervisors and into an inbox that can be managed by the entire maintenance department. Maximo has an out of the box workflow 1 to handle inbound emails from an email listener. There are several help documents on IBM developerWorks, IBM Maximo Help, and an IBM developerWorks PDF download.
One of the problems I've had with this transition was the occasional employee adding the request email address into a email thread so whatever issued would get added as a request into Maximo. This caused two problems. First, the email that came into Maximo did nothing to direct a Planner on what the issue was because of the long discussion thread. Second, we started getting error alerts like this:
Psdi.util.MXApplicationException BMXAA4049E – The value specified ….. exceeds the maximum field length. at psdi.util.MaxType.checkLength(MaxType.java 517) at psdi.util.MaxType.setvalue(MaxType.java 439) at psdi.umbo.MboValue._setvalue(MboValue.java 439) at psdi.mbo.MboValue.setValue(MboValue.java 1171)
What I found was the 'cc' recipient list was too big for the
INBOUNDCOMM.CC field. IBM has a tech note on how to fix, but that still left us with problem number - garbage getting into the request process.
My original thought was to modify the LSNRBP workflow to bounce messages that had a large 'to' or 'cc' recipient list - say more than 100 characters to indicate multiple email addresses. As I researched the issue I realized this wouldn't work because I'd still get the
Psdi.util.MXApplicationException BMXAA4049E error.
Workflow will only take actions on records already in the Maximo database. So to limit/bounce an email that was too chatty meant that the record had to be on the INBOUNDCOMM table. This meant I needed to expand the
INBOUNDCOMM.BCC fields to 1000 characters like the KB document recommended.
Bounce email listener messages
So now all emails will get written to the
INBOUNDCOMM table, but I still wanted the chatty messages to not get processed by the
LSNRBP workflow. When you look at the original workflow, the inbound communication record is checked to see if it has formatted actions in the
ACTIONNULL step. This steps checks for the preprocessor characters like
##. If the message does, it will be pushed into other sections of the workflow. We don't use the preprocessor characters - yet.
So to bounce messages, I added a new conditional check before the
ACTIONNULL condition step.
The condition node has the following properties.
The concept here is to bounce any message that has more than one
cc or one
len(:sendto) > 35 or len(:cc) > 40 or len(:bcc) > 40
This will check the new
INBOUNDCOMM record and look at the length of the 'to', 'cc', and 'bcc' fields. If any of the fields are exceeded, the workflow will divert the record and send out an email using the following template. 2
So now when someone essentially spams the email request address, they'll get this reply back.
So do you have any other ways to protect your email listeners? Feel free to share your ideas in comments below.
Thoughts on Father's Day
There are only a few things in this world that really get under my skin. The person who thinks they need to take up two parking places right next to a store entrance. Someone who cuts in line because they're in a bigger hurry than everyone else. The idea ...
- Fixing Safari Setting for Keyboard Maestro
Rise of Iron Bungie Stream
Bungie originally released Destiny on Sep 9, 2014. The first downloadable content (DLC) for Destiny was The Dark Below expansion pack on Dec 9, 2014. The 2nd DLC released was House of Wolves on May 19, 2015. The Destiny calendar turned to Year 2 with the release of the The ...
Getting multiple records to show inline in BIRT
One of the first rules I learned when creating reports was to get your report's
selectstatement to do as much of the work for you. When the
selectstatement is properly formatted, the statement can do a lot of the functional work you'd have to setup in ...
Destiny Stream - Sandbox & Crucible
Bungie held their 3rd and final Twitch stream 1 before the April Update drops. This stream focused on changes to the core game play (Sandbox) and updates to the Crucible and Crucible related events (Trials of Osiris, Iron Banner, etc). This stream had a lot of information, albeit sometimes without ...