Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

Ich erhalte eine LineSizeExceededException in den Log-Dateien

Diese Fehlermeldung tritt immer dann auf, wenn eine E-Mail im Postfach korrupt ist und sich nicht an den MIME Standard hält. Diese E-Mail kann nicht verarbeitet werden und behindert das Abholen der andern Mails im Postfach. Um dieses Problem zu lösen, muss diese E-Mail aus dem Postfach entfernt werden.

An der betroffenen E-Mail sind wir gerne interessiert, wenn es der Datenschutz zulässt.

Dazu gibt es weiter unten eine Anleitung.

Ein Postfach hat eine kaputte E-Mail. Wie kann ich diese herausfinden?

Wenn ein Postfach eine kaputte E-Mail enthält, kann u.U. das gesamte Postfach nicht abgeholt werden. In diesen Fall müssen die Logs geprüft werden. Diese ist hier zu finden.

C:\Windows\System32\config\systemprofile\AppData\Local\antony Systemhaus GmbH\logs

Läuft der Dienst auf 32-Bit (siehe Lütkenhaus), so muss im C:\Windows\SysWOW64\config\systemprofile\AppData\Local\antony Systemhaus GmbH\logs geschaut werden

Aus den Logs kann man erkennen, welche E-Mail das Problem verursacht. Diese hat eine POP3-UID, welche durch den POP3 Server vergeben wird. Jene Id kann man allerdings nicht im gewöhnlichen WebMailer finden. Mit diesen Tool https://faq.docs.reddoxx.com/de/general/exception-of-type-lumisoft-net-io-linesizeexceededexeption-was-thrown kann man die betroffene E-Mail herausfinden und aus dem Postfach entfernen.

Wenn keine UID vorhanden ist, dann kann die E-Mail über den Index herausgefunden werden. In den Log-Dateien ist z.B: “Mail 25 von 79” zu finden.

Direkter Tool Download (25 MB):

Wieso wird mir kein Teilungshinweis angezeigt, wenn ich eine interne E-Mail schreibe?

antony macht interne E-Mails überflüssig. Es gibt eine Funktion, welche beim Schreiben einer E-Mail erkennt, dass es sich beim Empfänger um einen internen Teilnehmer handelt und schlägt vor diese E-Mail stattdessen zu teilen. Es gibt aber einen Fall, in denen dies nicht passiert.

antony findet anhand der Adresse heraus, an welche Benutzer eine E-Mail geteilt werden müsste. Dies sind alle Benutzer mit Schreibrechten, denn diese würden eine rote Ampel bekommen. Nutzer mit Leserechten sehen diese E-Mail nicht direkt. Wenn ich nun eine E-Mail schreibe und es keinen Benutzer mit Schreibrechten gibt, dann kommt entsprechend auch kein Hinweis.

Dies passiert vorzugsweise dann, wenn ich mir selbst eine E-Mail schreiben möchte. Auf mein eigenes Postfach haben die meisten Nutzer nur Leserechte. Damit gibt es niemanden, den diese E-Mail geteilt werden könnte und damit wiederrum kommt kein Hinweis.

Wieso wird eine E-Mail nicht autogeteilt?

Wenn eine E-Mail nicht autogeteilt wird, dann ist diese aus Sicht von antony nicht identisch. Für diese Prüfung werden die relevanten Teile der E-Mail (Empfänger, Absender, Inhalt, Anhänge etc) gehashed und anschließend miteinander verglichen. Um den Hash zu überprüfen, werden die originalen EML Dateien benötigt, welche antony zugestellt worden sind. Diese findet man mit der unteren Beschreibung https://diegroupware.atlassian.net/wiki/spaces/ant2/pages/1813676033/Mail+-+FAQ#Wie-finde-ich-die-originale-EML-einer-eingehenen-E-Mail%3F

Wie finde ich die originale EML einer eingehenen E-Mail?

antony legt die E-Mails zugriffsoptimiert in seiner Datenbank ab. Dazu wird die E-Mail auseinandergeschnitten und die Teile anschließend separat abgelegt. Wird nun eine E-Mail direkt aus antony exportiert, so unterscheidet sie sich von der ursprünglich empfangenden E-Mail. Die originalen eml Dateien sind wie folgt zu finden:

Um diese EMLs zu finden sind ein paar Informationen zu der/den gesuchte(n) E-Mail(s) notwendig. Hier ein paar Leitfragen:

  1. Ist die E-Mail in antony zu finden? Wenn ja, dann kann in der Listenansicht die id Spalte eingeblendet werden. Damit ist ein direkter Zugriff möglich

  2. Welchen Betreff hat die Email?

  3. Wann sind die E-Mails eingegangen?

  4. Welchen gemeinsamen Absender hat die E-Mail?

  5. In welchen Postfächern ist die Mail eingegangen?

Mit diesen Informationen kann man nun den Datensatz aus der antony Datenbank herausfinden. Dafür haben wir folgende, nützliche Basisabfrage geschrieben. Diese liefert für jede E-Mail Sender, Empfänger, Datum, Mailbox und den besagten Hash.

SELECT em.id, em.delivery_date, em.from_email, em.to_email, em.subject, emea.account_id, ea.email_display_name AS mailbox, em.hash
  FROM email_messages AS em
    INNER JOIN `email_message-email_account` AS emea on em.id = emea.message_id
    INNER JOIN email_account AS ea on emea.account_id = ea.id
    INNER JOIN instance_properties as ip on em.id = ip.object_id and ip.instance_id=3 and ip.direction = 2
    
    WHERE -- HIER BEDINUNGEN VON UNTEN EINFÜGEN
    ORDER BY id desc
    limit 100
 Erklärung der Spalten

Spalten:
ID: Nummer zum identifizieren des Datensatzes
POP3_UID: Pop3 id vom Pop3 Server
delivery_date: Absendedatum
from_email: Absender
to_email: Empfänger
subject: Betreff
account_id: Postfach ID
email_display_name: Adresse Postfach
hash: Hash (Fingerabdruck) der Email

Je nachdem welche Informationen bekannt sind kann nun weiter eingeschränkt werden.

1. E-Mail Id ist bekannt

-- <Basic QUERY> + 
 WHERE em.id = 4711

2. Betreff der E-Mail bekannt

<Basic QUERY> + 
 WHERE em.subject like "%Alaska%"

3. Datum der E-Mail bekannt

<Basic QUERY> + 
 WHERE em.delivery_date >= '2023-05-02T08:00:00'  AND em.delivery_date <= '2023-05-02T13:00:00'

4. Absenderadresse bekannt

<Basic QUERY> + 
 WHERE emea.from_email = "klaus@die-groupware.de"

5. Antony Postfach bekannt

<Basic QUERY> + 
 WHERE (ea.email_display_name = "erstes_internes@postfach.de" or
        ea.email_display_name = "weiteres_internes@postfach.de")
 Kombiniertes Beispiel
-- Basic SQL QUERY + 
WHERE ea.email_display_name like "%paul%"
AND em.delivery_date >= '2023-05-01T00:00:00'  AND em.delivery_date <= '2023-05-03T23:00:00'
AND em.subject like "%Kalender%"

Nun haben wir alle Informationen beisammen, um die EML Datei ausfindig zu machen. Sie sind im Installationsverzeichnis der antony Dienste zu finden im Unterordner Mailbox. In diesen Ordner befindet sich für jedes eingerichtete Postfach ein Unterordner mit der Postfach Id. Die Id des Postfachs einer E-Mail entspricht der Spalte account_id aus der Basisquery:

C:/Program Files(x86)/antony Systemhaus GmbH/antony – Die Services/Mailbox

z.B. für Postfach "1"
C:/Program Files(x86)/antony Systemhaus GmbH/antony – Die Services/Mailbox/1

In diesen Ordner stapeln sich die eml Dateien. Mit den Daten der Basisquery kann die eml Datei nun lokalisiert werden. Je nachdem wie sie über antony reingekommen sind, gibt es zwei Möglichkeiten.

  1. via POP3

    1. Dateiname<POP3_UID>.eml

  2. via SMTPServer

    1. SMTPServer<Datum>.eml

Die Ansicht einer E-Mail ist nicht lässt sich nicht bedienen. Wie finde ich die Ursache?

antony verwendet zur Anzeige einer HTML E-Mail das Tool CefSharp. In der Abbildung ist der Bereich, der durch CefSharp gerendert wird, rot markiert. CefSharp rendert die Anzeige in einen eigenen, externen Prozess. Deswegen kann es vorkommen, dass genau jener Bereich nicht reagiert, antony aber schon. Dieses Phänomen kann auch umgekehrt auftreten.

Die übliche Vorgehensweise lautet:

  • Prüfen, ob das Problem auch mit anderen E-Mails auftritt. Tritt es nur mit einer speziellen E-Mails auf, dann kann diese mit antony gespeichert (Speichern unter…) und anschleßend analysiert werden.

  • Prüfen, ob es sich um ein Hardware- oder Treiberproblem handelt. Um dies auszuschließen, wird antony dazu angehalten keine Hardwarebeschleunigung zu verwenden. Dafür kann antony mit folgenden Parameter gestartet werden: /softwareRenderer.

    • Tritt das Problem mit den Softwarerenderer nicht auf, dann handelt es sich um ein Problem mit der Hardware oder Treiber.

Es kann geprüft werden, ob der Parameter richtig angewendet worden ist. Dazu in der Übersicht unter Hilfe > Version.

  • Die Log-Dateien des Browser prüfen: Sollte der Browser nicht mehr reagieren, so kann in die Log-Dateien vom CefSharp geschaut werden. Diese werden nicht standardmäßig erzeugt, sondern müssen manuell aktiviert werden. antony muss für die Aktivierung mit folgenden Parameter gestartet werden. Die 1 steht dabei für “Verbose”.

/CefSharp.LogLevel:1     // Verbose

Weitere Level lauten 2 - Info, 3 - Warning, 4 - Error, 5 - Fatal

Wird antony mit dieser Option gestartet, werden die Log-Ausgabe von CefSharp an folgende Stelle geschrieben. In dieser Datei können die Gründe des Absturzes nachvollzogen werden.

%LOCALAPPDATA%/antony Systemhaus GmbH/logs/libcef.log.txt

Der Serviceordner enthält einen “Mailboxes” Ordner, welcher mehrere GB Speicherplatz belegt. Was kann ich tun?

Der Ordner “Mailboxes” im ServicesOrdner dient als Zwischenablage für die heruntergeladenen EML Dateien vom POP3Service und SmtpServerService. Wird eine EML verarbeitet, wird diese auseinandergeschnitten und das orginial dort abgelegt. Treten beim Verarbeiten Probleme auf, wird die EML nicht erneut heruntergeladen, wenn diese in den Mailboxes Ordner noch zu finden ist.

Dieser Ordner kann grundsätzlich gelöscht werden. Es ist allerdings ratsam nicht alle Ordner zu leeren, sondern die originalen EMLs über eine gewisse Zeitspanne aufzuheben. Sollte es bei E-Mails in antony zu Problemen kommen, welche durch das Verarbeiten auftreten (z.B. Dateinamen von Anhängen sind defekt, E-Mails werden nicht autogeteilt, etc) sind für die Analyse diese Dateien notwendig.

Mit folgenden Script können alle Dateien aus diesen Ordner gelöscht werden, welche älter sind als 60 Tage. Der Zeitraum kann je nach Anwendungsfall eingestellt werden. Wie empfehlen eine Aufbewahrungszeit von 2 Monaten.

@echo offforfiles /P "C:\Program Files (x86)\antony Systemhaus GmbH\antony - Die Services\Mailboxes" /S /M *.* /D -60 /C "cmd /c del @file"

Der Suchindex für E-Mails soll neu aufgebaut werden. Kann ich das auch während der Arbeitszeit des Kunden durchführen?

Das Neuaufbauen des Suchindexes ist zeit- und rechenaufwändig. Es werden alle E-Mails synchron

  • No labels