554-5.3.4 Content conversion limit(s) exceeded 554 5.3.4 STOREDRV.Submit.Exception:ConversionFailedException; Failed to process message due to a permanent exception with message The content conversion limit has been exceeded. ConversionFailedException: Th
One of the users is getting following undeliverable error when sending emails via MS Outlook from a VFP based application.
“554-5.3.4 Content conversion limit(s) exceeded 554 5.3.4 STOREDRV.Submit.Exception:ConversionFailedException; Failed to process message due to a permanent exception with message The content conversion limit has been exceeded. ConversionFailedException: The content conversion limit has been exceeded.”
- The size of the message doesn't exceed 500KB.
- Message only have two attachments.
- Outlook still prompts the security messages even thought we use Redemption.dll to suppress the warnings.
- Expected message format to be appeared is HTML but the message always appears in plain text format in sent items (i.e. HTML template always goes as a attachment to the mail).
- Message limits for both sender and receiver in exchange and they are set to 15MB.
- No internal errors were reported during the process.
- Environment is MS Outlook 2010, MS Exchange server 2010. Windows server 2008 R2 64bit.
If required I can send a sample message generated with undeliverable message.
VFP application does not resolve names and I’m not sure whether this will make a difference.
I’m not sure how to narrow down this problem and anybody shed a little light on this?
Hi, Code is something like below. I hope you can understand the values of constants. Please assume that THIS.nUnderTerminalService = 1 in this case. what is missing here is the code to indentify the windows default mails client.
loOutLookApp = CREATEOBJECT("Outlook.Application") loOutBox = loOutLookApp.GetNameSpace("MAPI").GetDefaultFolder(inOutBox) llErrorOccured = .F. IF THIS.nUnderTerminalService = 1 TRY loRDOSession = CreateObject("Redemption.RDOSession") ** Log on to mail session loRDOSession.Logon() ** Get OutBox folder loOutBox = loRDOSession.GetDefaultFolder(inOutBox) loOutlookMailItem = loOutBox.Items.Add(inMailItem) CATCH TO llErrorOccured ENDTRY ELSE TRY loOutlookMailItem = CREATEOBJECT("Redemption.SafeMailItem") loOutlookMailItem.Item = loOutBox.Items.Add(inMailItem) CATCH TO llErrorOccured ENDTRY ENDIF IF VARTYPE(loOutlookMailItem) # "O" OR VARTYPE(llErrorOccured) = "O" loOutlookMailItem = loOutBox.Items.Add(inMailItem) && Fall back to outlook ENDIF ** Assign necessary properties of loOutlookMailItem Ex: - to, cc, attachments here lnCurrentMsOutLookVersion = VAL(ALLTRIM(loOutLookApp.Version)) IF lnCurrentMsOutLookVersion => inMsOutLook2010Version OR ; (lnCurrentMsOutLookVersion => inMsOutLook2002Version AND lnCurrentMsOutLookVersion < inMsOutLook2003Version) loMailItem.Save() ENDIF ** Check if the Move() exists before its used ** Here, the mail item which was created above and is not used as ** its methods are not exposed when Redemption is used ** Therefore get the original MS Outlook mail item loMailItem.Item or if it does not exists use loMailItem AMEMBERS(laMailItemMembers, IIF(TYPE("loMailItem.Item")="O",loMailItem.Item,loMailItem), 3) lnSearchedMethodRow = ASCAN(laMailItemMembers, "Move", 1, -1, 1, 15) IF lnSearchedMethodRow > 0 loOutBoxMailItem = loMailItem.Move(loOutBox) && Move it from draf to Outbox. ENDIF IF VARTYPE(loOutBoxMailItem) = "O" RELEASE loMailItem loMailItem = CREATEOBJECT("Redemption.SafeMailItem") loMailItem.Item = loOutBoxMailItem ENDIF loMailItem.Send()
- Edited by eCasper Tuesday, January 15, 2013 12:39 PM