PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IMAP-SErver nimmt Mails nicht an



JoergLang
05.05.04, 11:47
Hallo,

ich habe unter SuSE 9.0 einen Mailserver mit Postfix, Cyrus, amavis-new und Fetchmail eingerichtet, was auch recht gut funktioniert.
Fetchmail holt per cronjob alle 2 Minuten die Mails von verschiedenen Mailkonten, diese werden dann den Benutzern zugeordnet in IMAP Verzeichnisse abgelegt. Nun kommt es vor, dass der IMAP-Server die Annahme von bestimmten Mails verweigert. Leider kann ich dazu auch nichts in den Logs finden, jedoch wenn ich diese mails direkt per Outlook abrufe vom Mailkonto und "von hand" in einen bestimmten IMAP Ordner verschieben möchte, kommt die Fehlermeldung Message contains invalid header
Der mailheader sieht z.B. so aus:

Received: from 201-0-79-228.dsl.telesp.net.br [201.0.79.228] by 105-mx.inl.de
(SMTPD32-8.05) id AEA016E3001E; Wed, 05 May 2004 03:08:48 +0200
Received: from 98.208.108.48 by 201.0.79.228 Wed, 05 May 2004 02:55:23 +0100
Message-ID: <hxilgqzqzrclenl5OPuflyPs9kZHIf@highstream.com>
From: "Wilton Norwood" <JennyLQEsupine5331560@lycos.com>
Reply-To: "Wilton Norwood" <JennyLQEsupine5331560@lycos.com>
To: joerg@lang-iznang.de
Subject: hi, long time no see....
Date: Tue, 04 May 2004 21:56:23 -0400
X-Mailer: experiment marianne
ruben-secular: woodside seismograph confucius
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="--0969836417805008659"
[ Priority: Normal ]
X-RCPT-TO: <joerg@lang-iznang.de>
Status: U
X-UIDL: 377986383

----0969836417805008659
Content-Type: text/html;
Content-Encoding: bitBitNUM


Ich vergleiche das mit mails, bei denen es keine Probleme gibt, finde jedoch nichts. Kann mir da vielleicht jemand helfen?

Wenn so eine mail im Postfach liegt und fetchmail bzw. der IMAP damit nicht klar kommt, bekomme ich eine nachricht von fetchmail die folgende meldung enthält:

fetchmail: client/server protocol error while fetching from lang-iznang.de

Kennt jemand ein solches Problem?

rabenkind
05.05.04, 21:22
Hi

das einzige was mir auffällt ist das:

[ Priority: Normal ]

sollte so oder ähnlich sein:

Priority: Normal

wäre allerdings einfacher wenn du den Header als Original anhängst am besten in der Konsole direkt in eine Datei speichern, damit man sehen kann wann eine Zeile zuende ist.

Die defekten Mailheader kommen von Mailproggies die nicht korrekt implementiert sind. Oft Massmailer oder Outhouse und ähnliche Winkonsorten.

greetz rabenkind :))

JoergLang
06.05.04, 09:28
Das problem ist ja nur, dass ich die Mail nicht auf die Linuxkiste bekomme, da sich IMAP weigert das teil anzunehmen.

Ich könnte echt kotzen was man für einen blöden Aufwand hat wegen dieser verdammten Spammailer.

L00NIX
06.05.04, 10:49
Das Problem hatte ich auch mal und zwar als ich Mails aus einer mbox-Datei zum IMAP-Server verschoben habe. Ich arbeite inzwischen mit einem eigenen IMAP-Server, um unabhängig vom Mailclient zu sein.

Das Problem war auf jeden Fall die einleitende From -Zeile (nicht die From:-Zeile!), die mbox-Dateien als Mailtrenner verwenden und keine Standardheaderzeile ist.

Ansonsten sieht das [ Priority: Normal ] mit den [] sehr verdächtig aus!

JoergLang
06.05.04, 12:26
Also es ist ja so, dass ich von meine Provieder Mails per fetchmail abhole. Irgendwann, also bei bestimmten Mails versagt dann die Zustellung bzw. fetchmail kann die Mail und alle folgenden nicht mehr abrufen. Also hole ich die Mails direkt mit Outlook und versuche sie manuell zu verteilen. Dabei stosse ich dann eben auf die fehlerhafte mail, die ich dann auch nicht in den IMAP Ordner schieben kann.
Die Frage ist eben ob es da nicht etwas gibt, solche Mails direkt ins Nirvana zu schicken bzw. ob fetchmail die mails nicht irgendwie anders an den IMAP Server schicken kann. habe da mal was von LDAP gehört, dass fetchmail die Mails abholt und sie dann per LDAP an CYRUS gehen. leider fehlt mir da der Ansatz.

L00NIX
06.05.04, 13:11
Also es ist ja so, dass ich von meine Provieder Mails per fetchmail abhole. Irgendwann, also bei bestimmten Mails versagt dann die Zustellung bzw. fetchmail kann die Mail und alle folgenden nicht mehr abrufen. Also hole ich die Mails direkt mit Outlook und versuche sie manuell zu verteilen. Dabei stosse ich dann eben auf die fehlerhafte mail, die ich dann auch nicht in den IMAP Ordner schieben kann.
Die Frage ist eben ob es da nicht etwas gibt, solche Mails direkt ins Nirvana zu schicken bzw. ob fetchmail die mails nicht irgendwie anders an den IMAP Server schicken kann. habe da mal was von LDAP gehört, dass fetchmail die Mails abholt und sie dann per LDAP an CYRUS gehen. leider fehlt mir da der Ansatz.

LDAP = Lightweight Directory Access Protocol

Ich wusste nicht, das man damit Mails zustellen kann. :)


Cyrus ist sehr darauf bedacht, sich an den RFC-Standard zu halten. Ich sitze leider nicht an meinem Linuxrechner, aber es müsste für den imapd eine Option oder Konfigeinstellung geben, so dass die Logausgabe ausführlicher wird. In den Logdateien kannst du dann checken, welche Zeile den Fehler verursacht.

In dem oben genannten Header, sofern dieser vollständig ist, sollte es die []-Zeile sein, da Headerzeilen mit Buchstaben beginnen. Alle X-...-Zeilen sind EXtensions und sind gültig, auch ein "X-So-ein-Quatsch: Test"!

Vielleicht kommt der Fehler auch von Outlook, dass die Mail irgendwie "umformatiert", aber das ist jetzt nur eine Spekulation...

Mails direkt ins Nirvana könntest du mit procmail schicken, quasi so:



fetchmail -> procmail -> cyrus
|
| Spam
V
/dev/null


...aber dafür habe ich keine Beispielkonfiguration. :(

JoergLang
06.05.04, 14:39
Aber es muss doch irgend was geben, was ich mit den mails machen kann. ich meine warum nimmt Cyrus die nicht an? Bzw. Was kann man denn da gleich machen?
In Deinem Beispiel, könnte procmail entscheiden welche Header okay sind und defekte gleich wegräumen? dann ist die Frage wo stellt man das ein und wie sauber arbeitet der.
Aber es muss doch trotzdem mit Cyrus die Möglichkeit geben, solche Mails in einen speziellen ordner zu legen, oder?

L00NIX
06.05.04, 15:10
Aber es muss doch irgend was geben, was ich mit den mails machen kann. ich meine warum nimmt Cyrus die nicht an? Bzw. Was kann man denn da gleich machen?
In Deinem Beispiel, könnte procmail entscheiden welche Header okay sind und defekte gleich wegräumen? dann ist die Frage wo stellt man das ein und wie sauber arbeitet der.
Aber es muss doch trotzdem mit Cyrus die Möglichkeit geben, solche Mails in einen speziellen ordner zu legen, oder?

Wenn zwischen Fetchmail und Cyrus procmail hängt, kann man so ziemlich alles mit Mails machen, z.B. Headerzeilen umbiegen. Allerdings hängt Procmail wiederum nicht zwischen Outlook und Cyrus.

Cyrus "wehrt" sich gegen nicht standardkonforme Mails, oder anders gesagt: es "bockt". ;)

Ich weiß nicht, wie man ihm das abgewöhnen kann, ich habe es bei mir geschafft, die Mails standardkonform zu machen, allerdings handelte es sich um ein anderes Problem (mbox-Separator).

Schon mal geprüft, was Outlook liefert?

JoergLang
06.05.04, 15:30
Bei Outlook bin ich ja auf den fehler mit dem defekten Header gekommen.
Warum eigentlich procmail? Postfix sollte das doch auch können bzw. es läuft ja auch amavisd-new, da sollte man doch nach so etwas filtern können oder nicht?

Harry
06.05.04, 17:46
Hi Jörg,

poste doch bitte mal den Output des Kommandos
egrep -v "(^#|^$)" /etc/imapd.conf

Harry

JoergLang
06.05.04, 17:52
Hallo,

bitteschön:

configdirectory: /var/lib/imap
partition-default: /var/spool/imap
sievedir: /var/lib/sieve
admins: cyrus
allowanonymouslogin: no
autocreatequota: 10000
reject8bit: no
quotawarn: 90
timeout: 30
poptimeout: 10
dracinterval: 0
drachost: localhost
sasl_pwcheck_method: saslauthd
lmtp_overquota_perm_failure: no

Harry
06.05.04, 17:59
Danke - soweit sieht das alles nach den Standardwerten aus.

Ein Versuch wäre vielleicht, einige der rfc_ignore_* Optionen auf "yes" in der Konfigurationsdatei zu setzen. Im Produktionsfall wird davon eigentlich abgeraten aber in Deinem Fall würde ich das mal versuchen, um der Ursache genauer auf den Grund zu gehen.

Du findest die genauen Beschreibungen zu diesen Parametern in der ManPage zur Datei imapd.conf (man 5 imapd.conf). Die Defaulteinstellungen stehen auf "no".

Harry

JoergLang
06.05.04, 18:08
Hallo Harry,

vielen dank für die Infos.
ich habe jetzt auch die Mails, die diese fehler verursachen per weiterleitung in den IMAP Ordner bekommen und sie gleich mal an Spamassassin verfüttert.
Wollen doch mal sehen ob der nicht auch aus sowas lernen kann.