E-Mail Versand

<< Click to Display Table of Contents >>

Navigation:  Allgemeine Fragen >

E-Mail Versand

 

Fragen und Antworten zum Thema OMNITRACKER ↦ Allgemeine Fragen ↦ E-Mail Versand:

 

Wo legt OMNITRACKER die ausgehenden E-Mails vor dem Versenden ab? Wie lässt es sich vermeiden, dass alle E-Mails einer Testperiode verschickt werden?

OMNITRACKER speichert E-Mails im Pfad %windir%\OMNINET GmbH\OMNITRACKER\EmailGatewayQueue\

Dieser Pfad wird im Service Control Panel auf dem Reiter "Directories" gesetzt.

Wenn in diesem Pfad .DAT Dateien existieren, dann versucht das E-Mail Gateway diese zu versenden, sobald der Service startet. Um das Versenden der E-Mails zu verhindern, kann man diese einfach löschen oder in einen anderen Ordner verschieben.

 

Wie vermeidet man in eingehenden Mails, dass der Plain-Text-Teil im HTML Format angezeigt wird?

Dieser Effekt liegt meist daran, daß die vom Mail-Server abgeholte Email NUR einen HTML-Teil beinhaltet. Wenn eine Email als Multipart-Message mit HTML und PlainText Anteil geliefert wird, so verwendet der OmniTracker auch korrekt den PlainText Teil.

Ein Exchange-Server kann für eine Mailbox so konfiguriert werden, daß die aus dem Internet per POP3 abgeholten Mails automatisch AUCH im PlainText Format bereitgestellt werden. Dann wird eine Konvertierung am Exchange-Server vorgenommen. Einen Auszug aus dem Exchange-Handbuch für diese Konfiguration finden Sie im Anhang.

 

HTML-Editor für Message Templates: Wie verknüpfe ich einen HTML Editor?

Auf Ihrer Arbeitsstation müssen die Dateiendungen für .htm korrekt mit einem echten HTML Editor verknüpft sein. Installieren Sie sich dazu einen HTML-Editor Ihrer Wahl und verknüpfen Sie die Extension .htm mit diesem Programm. Mögliche Freeware Editoren wären hier z.B. Nvu oder KompoZer.

Mit dem Programm "Types" lassen sich Standard-Programme mit Dateiendungen verknüpfen. Hier können Sie "Types" herunterladen: http://www.freewarefiles.com/Types_program_60058.html Im Anhang finden Sie auch eine Kurzanleitung dazu.

Als Alternative zum Programm "Types" können Sie die Einstellungen zum HTML-Editor auch direkt in der Registry anpassen:

  • regedit starten,

  • HKEY_CLASSES_ROOT öffnen,

  • zu .htm navigieren,

  • den Default-Wert auslesen (z.B. htmlfile),

  • HKEY_CLASSES_ROOT/htmlfile/shell/edit/command; Standard-Eintrag anpassen.

 

Was tun bei Error logging incoming email: Invalid input in field 'Body Plain Text': Invalid formatted text...?

Detaillierte Fehlermeldung:

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.

Diese Fehlermeldung ist meist ein Hinweis darauf, dass hier versucht wird, den Plain-Text-Teil der eMail in ein Feld des Typs Memo mit Subtyp Formatted Text zu übertragen (Field Mapping). Wenn die eMail nur einen HTML-Teil enthält, so steht dieser dann auch im Plain-Text-Teil des OtEmail-Objektes (inklusive der html-tags).

Ein Exchange-Server kann für eine Mailbox so konfiguriert werden, daß die aus dem Internet per POP3 abgeholten Mails automatisch AUCH im PlainText Format bereitgestellt werden. Dann wird eine Konvertierung am Exchange-Server vorgenommen.

 

Was kann man tun, wenn Tabellen mit eingehenden HTML E-Mails nicht richtig angezeigt werden?

Voraussetzung ist, dass ein Tabellenattribut width in der html des eingehenden E-Mail-Bodys vorhanden ist. Dieses setzt derzeit die im Stil definierte Breite außer Kraft, obwohl das Attribut width für Tabellen in HTML5 nicht unterstützt wird.

Das Ergebnis ist, dass das Steuerelement, das das memoformatierte Textfeld anzeigt, beschädigte Tabellen anzeigt.

Fehlerhafter Beispielcode:

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

CSS-Eigenschaften im style-Attribut sollten Vorrang vor HTML-Attributen haben.

WORKAROUND:

Die Abhilfe besteht darin, den HTML-Code vorzubereiten und das width-Attribut zu entfernen, wenn es 0 ist. Hier ein Beispielskript. Es kann als Standardskript im Ordner Eingehende E-Mails verwendet werden. Es entfernt die width=0 Einträge im html-Code der eingehenden E-Mail und schreibt den modifizierten Code in das Rich-Text-Feld.

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

 

Warum wird beim Mailversand nach 76 Zeichen automatisch ein Zeilenumbruch eingefügt?

Einige Mailserver im Internet haben Probleme mit "Nur-Text"-E-Mails, bei denen im E-Mail-Text Zeilen vorkommen, die länger als 76 Zeichen sind. Aus diesem Grund fügt das E-MailGateway beim Mailversand spätestens nach 76 Zeichen einen Zeilenumbruch ein. Sie haben folgende Möglichkeiten, dieses Verhalten zu Umgehen:

  • Versenden Sie den Text im HTML-Teil der E-Mail, denn bei HTML-E-Mails findet der automatische Zeilenumbruch nicht statt.
  • Fügen Sie in der "Registry" unter dem Zweig HKEY_LOCAL_MACHINE\SOFTWARE\OmniNet\OmniTracker Server\Mail einen neuen DWORD-Wert SMTPAutoWrap ein und setzen Sie diesen auf 0. Dieser Registry-Wert gibt an, nach wievielen Zeichen der Zeilenumbruch erfolgen soll. 0 bedeutet dabei, dass der Zeilenumbruch deaktiviert wird.

Bitte beachten Sie, dass es unter Umständen Probleme geben kann, wenn Ihre E-Mails Mailserver passieren müssen, die Zeilen mit mehr als 76 Zeichen nicht unterstützen!

 

E-Mailversand via SMTP schlägt fehl -> smtp-log: Response:555 Unsupported option: ENVID.

Bei der Kommunikation des E-MailGateways mit dem SMTP-Server gibt das E-MailGateway eine zusätzliche Option mit an, mit deren Hilfe man Übermittlungsstatusnachrichten automatisch wieder der versendeten Nachricht zuordnen kann. (Es handelt sich um den ENVID= Parameter in dem Aufruf MAIL FROM:. Diese Option wird, wie Sie selbst schon bemerkt haben , von Ihrem Mailserver aber nicht unterstützt.

Um die DSN-Unterstützung von OMNITRACKER abzuschalten, erzeugen Sie mittels regedit im Registryzweig

HKEY_LOCAL_MACHINE\Software\OmniNet\OmniTracker Server\Mail

einen DWORD-Wert namens SMTPServerSupportsDSN und setzen dessen Wert auf 0.

 

Warum lautet die Dateiendung der Originalemail .eml beziehungsweise .msg?

Das Format der E-Mail ist abhängig davon, ob die E-Mail mittels des POP3 beziehungsweise IMAP4 Protokolls (*.eml) oder mittels MAPI (*.msg) vom Mailserver abgeholt wurde. Es handelt sich dabei um grundverschiedene Formate, die nicht ohne weiteres ineinander umgewandelt werden können. Eine bloße Änderung der Dateiendung ist hier nicht hilfreich und leider gibt es zum gegenwärtigen Zeitpunkt noch keinen einfachen Workaround.

Einzige Möglichkeit wäre also, MAPI zum Abholen der E-Mails zu verwenden. Allerdings raten wir dringend, wann immer möglich POP3 oder IMAP4 zu verwenden, da die Verwendung von MAPI zu einigen Einschränkungen (beispielsweise bei HTML Mails oder Übermittlungsstatusnachrichten) führt.

 

MAPI – Exchange Server: Wie behebt man den Fehler "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'.

Der Exchange Server 2010 SP1 oder höher verwendet Client-Drosselungsrichtlinien, um die Leistung der Exchange-Organisation zu verwalten. Alle Client-Drosselungsrichtlinien sind standardmäßig aktiviert. Die Drosselungsrichtlinie verfügt über Gruppeneinstellungen, die die Menge an Ressourcen steuern, die ein Benutzer oder eine Verbindung verwenden kann.

Um dieses Problem zu lösen, muss eine neue Fallback-Drosselungsrichtlinie definiert werden.

  1. Stoppen Sie das E-Mail-Gateway. Starten Sie das E-Mail-Gateway.
  2. Erstellen Sie die Fallback-Drosselungsrichtlinie OmnitrackerThrottlingPolicy:

    New-ThrottlingPolicy "OmnitrackerThrottlingPolicy" -RCAMaxConcurrency $null -RCAPercentTimeInMailboxRPC $null -RCAPercentTimeInCAS $null -RCAPercentTimeInAD $null
Wenden Sie die Drosselungsrichtlinie auf das Mailbox-Konto an:

Set-Mailbox -Identitäts-GatewayBenutzer -Drosselungsrichtlinie "OmnitrackerThrottlingPolicy

Wichtiger Hinweis:

Exchange Server 2010 (bis SP2 und Update-Rollup 2) beinhaltet einen Fehler, sodass Fallback-Informationen in der Drosselungsrichtlinie für das Dienstkonto hinterlegt werden können: Siehe http://support.microsoft.com/kb/2668900 für detaillierte Informationen.