Support Article
Email not processed when using listener in system with antivirus
SA-72673
Summary
When using an email listener in an environment with an antivirus software and selecting the 'Embed data for inline images into HTML' option, emails are not processed. This occurs when the antivirus software deletes the data for image-type Parts in an email message prior to Pega receiving the message. However, the antivirus leaves the Part's headers intact.
Error Messages
Caught unexpected IllegalArgumentException. Will attempt to mark mail as 'seen'.
java.lang.IllegalArgumentException: Image data must be provided
at com.pega.pegarules.integration.engine.internal.services.email.EmailHelper.base64ToImageSource(EmailHelper.java:1037) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailHelper.base64ToImageSource(EmailHelper.java:1019) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailHelper.replaceImageRefsWithData(EmailHelper.java:1189) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailListener.readRequestData(EmailListener.java:5110) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailListener.extractMessageContent(EmailListener.java:4662) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailListener.handleStandardRequest(EmailListener.java:4212) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailListener.handleRequestContents(EmailListener.java:4602) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailListener.handleRequest(EmailListener.java:4460) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailListener.emailProcess(EmailListener.java:4026) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailListener.oneIteration(EmailListener.java:3107) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.email.EmailListener.run_(EmailListener.java:2939) ~[printegrint.jar:?]
at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:454) ~[printegrint.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Steps to Reproduce
Process an email with a broken image.
Root Cause
A defect in Pegasystems’ code or rules.
The email listener's behavior around image-type Parts in mulitpart messages is retuned to skip any part that has no data. The email listener will not attempt to cache the image for inline purpose nor attempt to attach the image. The EmailHelper will not find the image in the cache when image data is pushed to HTML and will no longer display exceptions. Instead, it just leaves the image tags alone in the HTML. When the HTML body is viewed in Pega, the browser or control renders its proprietary 'missing image' behavior for those missing images.
Resolution
Apply HFix-50364.
Published March 20, 2019 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.