Emailing

<< Click to Display Table of Contents >>

Navigation:  General questions >

Emailing

 

Questions and answers about OMNITRACKER ↦ General questions ↦ Emailing:

 

Where does OMNITRACKER store the outgoing E-Mails before sending them? How to avoid that all E-Mails of a test period are sent?

OMNITRACKER stores all E-Mails in the following path:

%windir%\OMNINET GmbH\OMNITRACKER\EmailGatewayQueue\

This path is set in the Service Control Panel on the "Directories" tab.

If .DAT files exist in this path, the E-Mail Gateway will try to send them as soon as the service starts. To prevent the E-Mails from being sent, you can simply delete them or move them to another folder.

 

How to avoid html-coded text in the plaintext part of incoming E-Mails?

Since OMNITRACKER does not have a built-in HTML-to-text converter, the text part of the E-Mail cannot be displayed/used correctly. But mail-servers (Exchange) do have a built-in HTML-to-text converter. If the mails are being fetched by POP3 or IMAP4, an exchange server can be configured to provide mails in both text and HTML-form. Please find some screenshots about how to activate this option in Exchange attached.

 

Editing HTML Message Templates: How to associate and use a HTML -editor?

On your workstation, the .htm-extension has to be correctly associated with an HTML-editor. First, install your preferred HTML-editor that has to be connected to the above extensions. You can use one of the many available HTML-freeware-editors, like Nvu or KompoZer (see www.nvu.com).

You can download a program called "Types" which can be used to define default programs to open different files. It can be downloaded here:

http://www.freewarefiles.com/Types_program_60058.html

In the attachments, you can also find a short description of how to configure it. After everything is done, restart your client. The button should be active and work fine.

Alternatively, you could assign the HTML-editor directly in the registry:

To set the HTML-editor:

  • open the registry.
  • open HKEY_CLASSES_ROOT
  • search for .htm
  • get (default) value for this key (e.g. htmlfile)
  • look for this key (e.g. htmlfile)
  • set value for key in "Shell / Edit / Command"

 

How to handle "Error logging incoming email: Invalid input in field 'Body Plain Text': Invalid formatted text..."?

Error details: "Error logging incoming email: Invalid input in field Body Plain Text: Invalid formatted text." Element '...html' is unexpected according to content model of parent element 'root'. Expecting: p, ol, ul.

This message would indicate that you are trying to map the body plain text part of an E-Mail to a memo-field which has the subtype formatted text. This will lead to problems, if you receive an email that has been sent as html ONLY. Cause then the html part will also be in the plain text part of the mail (including html-tags).

Since OMNITRACKER does not have a built-in HTML to text converter, the text-part of the email cannot be displayed/used correctly. But mail-servers (Exchange) do have a built-in HTML to text converter. An Exchange server can be configured to provide mails in both, text AND html form, if the mails are being fetched by POP3 or IMAP4.

 

What to do if tables of incoming HTML-mails are not displayed properly?

Prerequisite for this is the existance of a table attribute width in the HTML of the incoming E-Mail body. Currently, this overrides the width defined in the style attribute, although the width attribute for tables is not supported in HTML5. As a result, the memo control – subtype: formatted text displays corrupted tables. An example of a corrupted table is attached.

Corrupted example code:
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=0 style='width:0cm;border-collapse:collapse'>

This issue has been logged in the backlog as task: CSS properties in 'style' attribute should take precedence over HTML attributes. Currently, Telerik does not have this item on the short-term roadmap.

WORKAROUND:
The workaround here is to preprocess the HTML and remove the width attribute when it is "0".

Please find an example script attached. This can be used as standard script "Before Creation - Fill Preview" in folder "Incoming E-Mails".



The script removes the width=0- entries in the HTML-code of the incoming E-Mail and writes the modified code in the rich text field.

newContent = newContent & "<BR>" & ActiveRequest.Fields("Body HTML Text").TValue.HtmlTextWithEmbeddedImages

newContent = ConvertWidthAttributeInTable(newContent)

ActiveRequest.Fields("RTFPreview").TValue = newContent
UseModifiedRequest

'¦ @summary: Replaces width=0 attributes in tables
'¦ @last_change: 2019-11-20 - SWI
'¦ @param newContent: RTF content to convert
'¦ @returns: converted RTF content
Function ConvertWidthAttributeInTable(newContent)

strPattern = "(<table[^>]*) width=" & """" & "0" & """"

Set regEx = New RegExp
regEx.Pattern = CStr(strPattern)
regEx.IgnoreCase = True

If regEx.Test(newContent) Then

Set Matches = regEx.Execute(newContent)
Set Match = Matches(0)
strReplaceString = Match.SubMatches(0)

newContent = regEx.Replace(newContent, strReplaceString) ' & " width=""1000""")

newContent = ConvertWidthAttributeInStyleOfTable(newContent)

End If

ConvertWidthAttributeInTable = newContent
End Function

'¦ @summary: Replaces style:'width:0cm attributes in tables
'¦ @last_change: 2019-11-20 - SWI
'¦ @param newContent: RTF content to convert
'¦ @returns: converted RTF content

Function ConvertWidthAttributeInStyleOfTable(newContent)

strPattern = "(<table[^>]*) style=" & Chr(39) & "[^>]*" & "width:0cm;"

Set regEx = New RegExp
regEx.Pattern = CStr(strPattern)
regEx.IgnoreCase = True

If regEx.Test(newContent) Then
Set Matches = regEx.Execute(newContent)
Set Match = Matches(0)
strReplaceString = Match.SubMatches(0)

newContent = regEx.Replace(newContent, strReplaceString & " style='")
End If

ConvertWidthAttributeInStyleOfTable = newContent
End Function

 

How to avoid a line break in a string after 76 chars in outgoing emails?

Several mail servers on the internet have difficulty with plain text& E-Mails, in which the E-Mail text contains lines longer than 76 characters. For this reason, the E-Mail gateway, when sending E-Mails, inserts a line break after 76 characters at the latest. You have the following options to circumvent this behavior:

  • Send the text in the HTML part of the E-Mail as the automatic line break does not occur in HTML E-Mails.
  • Insert a new DWORD value SMTPAutoWrap in the Registry under the branch HKEY_LOCAL_MACHINE\SOFTWARE\OmniNet\OmniTracker Server\Mail and set it to 0 . (This registry value specifies after how many characters the line break should occur. 0 means that the line break is deactivated).
Please note that there may be problems if your E-Mail has to pass mail servers that do not support lines longer than 76 characters!

 

How can SMTP log file error be fixed: smtp-log: Response:555 Unsupported option: ENVID.?

During communication between the E-Mail gateway and the SMTP-server, the E-Mail gateway provides an additional option that allows you to automatically reassign delivery status messages to the sent message. (This is the ENVID= parameter in the call MAIL FROM:. As you have already noticed, this option is not supported by your mail server.

To disable the DSN support of OMNITRACKER, create using regedit in the registry branch

HKEY_LOCAL_MACHINE\Software\OmniNet\OmniTracker Server\Mail

A DWORD value named SMTPServerSupportsDSN and set its value to 0.

 

Why the filename extension of original message is .eml and .msg respectively?

The format of the E-Mail depends on whether the E-Mail was fetched from the mail server using the POP3 or IMAP4 protocol (*.eml) or using MAPI (*.msg). These are fundamentally different formats, which cannot be converted into each other without further efforts. Simply changing the file extension is not helpful here and unfortunately there is no simple workaround at this point.

The only possibility would be to use MAPI to retrieve the E-Mails. However, we strongly recommend to use POP3 or IMAP4 whenever possible, as the use of MAPI leads to some limitations (e.g. for HTML mails or delivery status messages).

 

MAPI – Exchange Server: How to handle error "DefaultThrottlingPolicy has gone over budget ‘xxx’ times for component ‘RCA’ within a one minute period"?

Process Microsoft.Exchange.AddressBook.Service.exe (PID=1848). User 'Sid~XXX\svcomnitracker~RCA~false' has gone over budget '2024' times for component 'RCA' within a one minute period. Info: 'Policy:DefaultThrottlingPolicy_aa4d0fc2-12ba-46ad-b337-eab2e14b09fc, Parts:AD:605;MaxConcurrency:1417;'. Threshold value: '100'.

Exchange Server 2010 SP1 or later uses client throttling policies to manage the performance of the Exchange organization. All client throttling policies are enabled by default. The throttling policy has group settings that control the amount of resources that a user or a connection can use. To resolve this issue a new fallback throttling policy has to be defined:

  1. Stop the E-Mail Gateway. Start the E-Mail Gateway again.
  2. Create the fallback throttling policy OmnitrackerThrottlingPolicy:

    New-ThrottlingPolicy OmnitrackerThrottlingPolicy -RCAMaxConcurrency $null -RCAPercentTimeInMailboxRPC $null -RCAPercentTimeInCAS $null -RCAPercentTimeInAD $null

Apply the throttling policy to the mail box account:

Set-Mailbox -Identity GatewayUser -ThrottlingPolicy "OmnitrackerThrottlingPolicy"

Important note: in Exchange Server 2010 (up to SP2 and Update Rollup 2) there is a bug so that fallback information may be deposited in the throttling policy for the service account. Please see http://support.microsoft.com/kb/2668900 for detailed information.