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, denn es fehlt der \r\n am Ende der Zeile. Die gesamte E-Mail sind damit in einer Zeile und werden intern über einen einzelnen Buffer verarbeitet.
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.
Lösung: Sofern der Server über genügend Arbeitsspeicher verfügt, kann die maximale Größe dieses Buffers verändert werden. Dazu muss der folgende Wert in die Tabelle gesetzt werden. Ist dieser bereits vorhanden, muss er entsprechend ersetzt werden.
Anschließend muss die gesamte Installation neugestartet werden.
Um einen Neustart zu vermeiden, kann der Wert auch im Administrator unter “Grundeinstellungen > Einstellungen verwalten“ verändert werden. Dazu muss der Wert herausgesucht, geändert und gespeichert werden. In diesen Fall ist lediglich ein Neustart der Mail-Dienst erforderlich
INSERT INTO `` (type, name, value, user_id, VID, converted) VALUE ("System.Decimal", "Mail.General.LumisoftBufferSize", "<GrößeInByte>", 0, 1, 1);
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:
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öglichWelchen Betreff hat die Email?
Wann sind die E-Mails eingegangen?
Welchen gemeinsamen Absender hat die E-Mail?
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
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")
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.
via POP3
Dateiname<POP3_UID>.eml
via SMTPServer
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 aus der Datenbank gelesen, die Suchtexte extrahiert und anschließend in den Index geschrieben. Dabei werden unter anderen auch die PDF-Dateien bearbeitet. Die Auslastung des MainServices während dieses Prozesses ist beträchtlich. Ein paralleles, produktives Arbeiten ist nur eingeschränkt möglich. Je nach Größe der Datenbank kann dieser Vorgang auch mehrere Tage in Anspruch nehmen.
Der ganze Vorgang kann durch folgende Einstellung gebremst werden. Dadurch kann produktiv gearbeitet werden, während der Index aufgebaut wird. Die Einstellung kann im Administrator vorgenommen werden. Dazu wechseln auf “Grundeinstellungen > Einstellungen verwalten”. Hier werden alle