PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich suche einen ganz einfachen Mailserver (imap)



Be_root
26.10.09, 18:04
Ich bin für ein kleines Netzwerk mit 5 Clients und einem dedizierten Server (openSuse11.0) zuständig.

Das Problem:
6 Emailkonten bei einem Provider. IMAP wichtig, da von verschiedenen Clients auf einzelne Konten zugegriffen wird. Speicherplatz beim Provider ist dafür viel zu klein (150MB). Häufige "over quota" Fehler. Mails löschen indiskutabel.

Der Wunsch:
Mails per POP3 holen und lokal auf dem Server speichern und per IMAP den verschiedenen Clients im lokalen Netzwerk zur Verfügung stellen.

Hier unwichtig:
SSL (LAN), SMTP (direkt durch Clients an Provider), Quota, Spam (macht wahrscheinlich getmail)

Was bisher geschah:
Das Abholen der Mails funktioniert schon mit getmail. Die Mails werden schon in Ordnern auf "meinem" Server gespeichert.

Was noch fehlt:
Ich weiß, dass ich irgendwie einen IMAP-daemon brauch, aber die Manpage von imapd hilft mir nicht wirklich weiter und dessen conf-Datei ist auch recht spartanisch. Außerdem google ich jetzt schon ein paar Tage umeinander und bin fix und fertig.

Danke
Raphael

Stormbringer
26.10.09, 18:09
Vorschlag:
installiere Dir ein openSuSE 11.1 System (weil Dir openSuSE ja bereits bekannt ist) in Deinem Netzwerk, und nutze die Dienste:
fetchmail, amavisd-new, postfix & courier-imap oder cyrus-imap.
fetchmail ruft dann bspw. alle 10 Minuten festgelegte Mailkonten bei deinem Provider ab, leitet diese an postfix weiter, welche sie zu amavisd-new übergibt zwecks AV- & SPAM-Prüfung, nimmt sie wieder entgegen und leitet sie an courier oder cyrus weiter, welcher sie dann in der jeweiligen Struktur ablegt.
Die Benutzer verbinden sich über ihren mailclient zu courier oder cyrus ...

Be_root
26.10.09, 18:29
Vorschlag:
installiere Dir ein openSuSE 11.1 System...

Ich hab ein 11.0 System und das ist gut so.
Statt fetchmail hab ich getmail - und das funktioniert

Postfix, cyrus usw. kapier ich nicht (sham on me)
..deshalb bin ich hier :(

Stormbringer
26.10.09, 18:48
Na, dann ist doch alles gut ... das der openSuSE bei dir im Netzwerk steht ist anhand der beschreibung nicht ganz ersichtlich ... und nun kennst ja genügend Suchbegriffe, die man auch hier im Forum nutzen kann ... und das ist auch gut so, schließlich soll es hier ja 'Hilfe zur Selbsthilfe' geben.
Such danach, lies sie durch, und stelle dann zu den Problemen, die u. U. bei der Umsetzung aufkommen, gezielt die Fragen.

Be_root
26.10.09, 19:27
den Problemen, die u. U. bei der Umsetzung aufkommen, gezielt die Fragen.

Was brauch ich zur Verteilung in meinem Netzwerk? Ist z.b. Postfix das Richtige? Oder reicht auch nur der imapd?

Die Links zu Howtos am Anfang der Themengruppe waren auch keine große Hilfe. Entweder tot oder mit ISDN-Verbindung.

Moment... Jetzt habe ich bei linuxbu.ch eine pdf mit postfix und fetchmail gefunden. Ich hoffe, ich bin auf dem richtigen Weg. Mir tut es nur um getmail leid. Das war so schön einfach :rolleyes:

Roger Wilco
26.10.09, 19:37
Ist z.b. Postfix das Richtige?
Wenn du auch E-Mails zentral versenden willst: ja. Ansonsten ist das eher unnötig.


Oder reicht auch nur der imapd?
Prinzipiell ja.

Ich würde ein einfaches Setup aus Dovecot IMAP (wegen serverseitiger Filter durch Sieve und ggf. Shared Folder) und getmail aufsetzen. Getmail holt sich die E-Mails von dem Mailserver des Providers und gibt sie an deliver von Dovecot weiter. Alles kein Hexenwerk und die Default-Konfiguration von Dovecot ist auch ganz brauchbar.

Be_root
26.10.09, 20:56
ein einfaches Setup aus Dovecot IMAP
Danke, das habe ich gesucht, ohne es zu wissen/kennen

Ein Howto habe ich auch schon gefunden:
http://wiki.bsdforen.de/howto/mailhamster
Das muss ich mir mal zu Gemüte führen, aber nicht mehr heute.

Allerdings sehe schon die nächste Aufgabe für Morgen: Acht getrennte Emailkonten in Dovecot, die auch getrennt bleiben sollen. Das Howto schmeißt leider alles zusammen :(

Danke nochmal für die nette Hilfe! Man liest sich ;)

Roger Wilco
26.10.09, 21:13
Die Anleitung ist schonmal nicht ganz schlecht. Auf procmail kannst du aber eigentlich verzeichten. Einfach sechs E-Mail-Konten auf deinem System anlegen und mit getmail und deliver gleich vom ISP-Mailserver in das richtige Postfach leeren lassen.

Be_root
26.10.09, 21:29
Auf procmail kannst du aber eigentlich verzeichten.
Hab ich mir schon halb gedacht


Einfach sechs E-Mail-Konten auf deinem System anlegen und mit getmail und deliver gleich vom ISP-Mailserver in das richtige Postfach leeren lassen.
Jedes Emailkonto hat seinen eigenen Ordner. Soweit klappt das ja schon. Nur die getrennten Wege zu den Clients....:eek:

Roger Wilco
26.10.09, 21:40
Ein IMAP-Konto mit sechs Ordnern ist nicht dasselbe wie sechs IMAP-Konten mit jeweils eigenen Zugangsdaten. Oder verstehe ich dich falsch?

Be_root
26.10.09, 22:01
Oder verstehe ich dich falsch?

Ich habe sechs Emailkonten. email1, email2 usw.
Diese werden nacheinander abgerufen (pop3) und gespeichert.
email1 kommt in ordner1
email2 kommt in ordner2
usw.
geplant: Spam in "Restmüll";)
Bis hierhin funktioniert es schon mit getmail

Jetzt kommt das Abrufen per imap
client1 will email1,2,5
client2 will email2,4
client3 will email6
usw
also bunt durcheinander, aber die Konten streng getrennt von einander
Bis hierhin soll es (morgen) funktionieren

Stormbringer
27.10.09, 14:09
dovecot & getmail kenne ich nicht, drum schlug ich halt die anderen, mir bekannten und bei openSuSE auf jeden Fall vorhandenen Programme vor.


Nur die getrennten Wege zu den Clients....:eek:
Nicht "die getrennten Wege zu den den Clients" ... die Clients lesen die Emails auf dem Server (das ist ja der Sinn von imap). Richte die Clients halt nur derart ein, daß sie sich zu einem imap-Server verbinden, und alles wird gut.

Roger Wilco
27.10.09, 14:12
Sowohl Dovecot IMAP als auch GetMail sind für openSUSE verfügbar:

http://packages.opensuse-community.org/index.jsp?searchTerm=getmail
http://packages.opensuse-community.org/index.jsp?searchTerm=dovecot

Be_root
28.10.09, 01:11
Sowohl Dovecot IMAP als auch GetMail sind für openSUSE verfügbar:


Danke! Das bekommt mein "smart" als Quelle.
http://download.opensuse.org/repositories/server:/mail/

Stand der Dinge
Getmail holt die Mails ab und speichert sie "ungefähr" richtig. Ungefähr bedeutet, dass die Mails zwar im richtigen Ordner auf Server landen, aber im Unterodner "cur".
Dovecot läuft. Der Client kann sich anmelden. Dovecot sucht im gleichen Ordner, weiß aber anscheinend nichts von diesem Unterordner.
Spamassin ist auch schon eingebunden, hat aber noch eine rosa Brille auf und findet bunte Pillen und sonstige Paarungsrituale eine gute Sache.

Todo:
Dem Getmail auf Finger klopfen, dass er die Mails richtig ablegt. Oder vielleicht direkt an Dovecot übergeben? Mh? Eigentlich habe ich jetzt nur "laut" gedacht. Morgen geht's weiter... Ich brauch jetzt dringend eine Defragmentierung incl. Reboot ;)

Roger Wilco
28.10.09, 01:15
Dem Getmail auf Finger klopfen, dass er die Mails richtig ablegt. Oder vielleicht direkt an Dovecot übergeben?
Dass Dovecot den MDA deliver mitbringt habe ich ja schon geschrieben...

Be_root
28.10.09, 11:34
Guten Morgen Roger Wilco,

So sieht es im Moment aus:

a) Mails beim Internet Provider

b) Getmail

c) Maildir

d) Dovecot

e) Client (derzeit Thunderbird, später leider Outlook)

von a mittels b nach c (/festplatte/mailuser/cur)
leere Ordner von c mittels d nach e (keine mails, aber findet alles ok)

Das meine Konfiguration:

/home/user/.getmail/mailuser:
(für jedes Mailkonto eine Datei)


[retriever]
type = SimpleIMAPSSLRetriever
Server = provider.de
username = mailuser
password = geheim

[filter]
type = Filter_external
path = /usr/bin/spamc

[desination]
type = Maildir
path = /festplatte/mailuser/

/etc/dovecot/dovecot.conf:


## Dovecot configuration file
protocols imap
ssl_disable = yes
mail_location = maildir:/festplatte/%u

protocol imap {
mail_plugin_dir = /usr/lib/dovecot/modules/imap
}

auth default {


mechanisms = plain
passdb passwd-file {
args = /etc/dovecot/passwd
}

### brauche ich die nächsten 3-4 Zeilen wirklich?
userdb static {
args = uid=vmail gid=vmail maildir=/festplatte/%u/
}
user = root
}


Volständigkeitshalber Passwortdatei /etc/dovecot/passwd


mailuser:{PLAIN}passwort_im_lan


Getmail schiebt die neuen mails in /festplatte/%u/cur (erst nachdem man die Rechte auf 777 gesetzt hat), aber Dovecot ist Wurscht was drin ist.:(

Nachtrag: mail_location mit /cur/ erweitert. Aber ohne Erfolg, nur viel verrückter (../cur/cur). Ich habe es ganz schnell wieder rückgängig gemacht.

Roger Wilco
28.10.09, 12:04
c) Maildir
d) Dovecot
Wie schon mehrfach erwähnt: Warum nicht über den MDA von Dovecot? Der setzt die korrekten Rechte (sollte natürlich auch unter dem Benutzer vmail:vmail laufen, dem die Mails gehören), aktualisiert u. a. die Index-Dateien (welche den Zugriff beschleunigen) und kann eine serverseitige Sortierung mittels Sieve durchführen.

Be_root
28.10.09, 12:32
Wie schon mehrfach erwähnt: Warum nicht über den MDA von Dovecot?

Wenn der das kann...

1. Er müsste alle Mails aus dem Internet holen und dort löschen (Platznot)
2. Mails auf der eigenen Festplatte speichern
3. den Mist aussortieren. Spams im dreistelligen Bereich pro Tag :eek:
4. und per IMAP im LAN anbieten (aber das macht/sollte er ja schon)

wenn ja, hast du ein paar Zauberworte/Anleitungen oder sonstwas? Ich habe die letzten Tage soviel gegoogelt, dass ich mir schon fast meinen Kaffe googel;)

Roger Wilco
28.10.09, 12:41
Du missverstehst mich. Die Verarbeitungskette sollte folgendermaßen aussehen:


+----------------+ +---------+ +-------------------+ +---------+ +--------------+ +-------------+
| ISP Mailserver |<--------| getmail |----------->| deliver (Dovecot) |------->| Maildir |<------| Dovecot IMAP |<-------| Client 1..n |
+----------------+ +----+----+ +-------------------+ +---------+ +--------------+ +-------------+
| ^ | ^
| | | |
v | v |
+-----------------------+ +-------------------+
| Filter (SpamAssassin) | | Sieve (Filterung) |
+-----------------------+ +-------------------+


Den MDA deliver kannst du in getmail mit dem destination-type MDA_external verwenden.

Be_root
28.10.09, 13:04
Den MDA deliver kannst du in getmail mit dem destination-type MDA_external verwenden.

Ich hatte alles... bis auf den doven deliver und sein sieve:( Und wieder lesen, lesen, lesen... :ugly:

*grübelgrübel*
Deliver müßte eigentlich alles wissen. Die Mails kriegt er vor'n Latz geknallt und seinen "Papa" kennt er auch. Gleich ausprobieren! Auf sieve bin ich mal gespannt. Hoffentlich taucht der was (wie die Schwimmer sagen...)

Be_root
28.10.09, 18:17
Ich google jetzt schon seit Stunden wegen diesem blöden sieve. Ich hab aber immernoch keinen Plan was das Teil eigentlich ist, geschweige wie das funktioniert. Langsam glaub ich, ich bin zu blöd :(
Deliver funktioniert - nur nicht so wie er soll. Ich habe sechs emailadressen. Diese Emails sollen wieder genauso getrennt lokal gespeichert werden. Nicht mehr und nicht weniger. Ok, die Spams könnte man gleich aussortieren.

Bei der Übergabe an deliver wollte ich gleich den user bestimmen, aber das klappt irgendwie nicht. Immerhin landen die Mails jetzt in einem neuen Ordner, der genauso heißt wie der lokale Benutzer.

getnail --rcfile /irgendwo/mailuser

[retriever]
username = mailuser

[..]

[destination]
type = MDA_external
path = /usr/lib/dovecot/deliver
arguments = ("-d mailuser",)

Anmerkung: Speicherordner, Benutzer und Konto heißen gleich

Ergebnis: 64, Fatal:unknown argument -d mailuser
oder 64, Fatal:unknown argument mailuser

Verzweiflung macht sich breit....

by the way, dovecot ist Version 1.0.13. Ich wollte heute 1.2 installieren, aber die Verifizierung des rpms aus der neuen Quelle klappt z.Zt. nicht. Wahrscheinlich morgen wieder...

Roger Wilco
28.10.09, 19:45
Du tust dir einen Gefallen, wenn du Dovecot 1.2 einsetzt.

Und bezüglich Sieve: http://wiki.dovecot.org/LDA/Sieve
http://wiki.dovecot.org/ManageSieve

Be_root
29.10.09, 23:24
Du tust dir einen Gefallen, wenn du Dovecot 1.2 einsetzt.

Ich habe den Rat befolgt und mir 'ne Menge Arbeit aufgehalst. Der Teufel steckt bei der Dovecot.conf im Detail. Egal, lieber jetzt als später, wenn alles perfekt ist.

Ich habe die user:_passwort Zeile geändert (mit Gottvertrauen):

nutzer1:{PLAIN}geheim:1001:1004::/festplatte/nutzer1::userdb_mail=maildir:/festplatte/nutzer1
Die Passwortdatei ist noch nicht wirklich rund (Thunderbird bekommt keine Daten und bringt keinen Fehler).
Es gibt keine Fehlermeldung mehr beim Start (sinngemäß: Das Einloggen sieht nicht gut aus, aber sobald sich jemand einloggt kommt die Meldung nicht mehr), aber laufen will es trotzdem nicht so recht. Was sollen die 1001+1004? Meine Emailkonten haben kein Benutzerkonto. Oder sollten sie eins haben?

Sieve sind anscheinend "kleine" Script-Dateien, die sehr stark an Basic erinnern. Ich vermute sehr stark irgendwo in dem Getmail rcfile, nur habe noch keine entsprechende Syntax für den Aufruf gefunden. Und wohl auch die einzige Möglichkeit mehr als ein Postfach sinnvoll zu verwalten.

Ich möchte mich mal zwischendurch für Beantwortung meiner wahrscheinlich saublöden Fragen (zumindest für Profis) bedanken. Keine Ahnung, was ich ohne die Hilfe machen würde.:rolleyes: Danke, Roger

Gruß
Be root