MailStation als Archiv

Status
Für weitere Antworten geschlossen.

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Tach schön,

unser Büro hat seit ein paar Wochen die Synology DS209+II und nun versuch ich das Gerät bis zum Produktiv Einsatz zu trimmen.
Aktuelle Firmwareversion:
DSM 2.3-1157
Firmware datum:
2010/04/19

Mein Ziel: Gesendete, sowie empfangene Emails auf der DS zu archivieren. Mein erster Ansatz war eigentlich die Mail-Weiterleitung für empfangene Emails und die BCC-Einstellung für gesendete Emails zu nutzen, aber mittlerweile kommen die Emails auch nichtmehr ordnungsgemäß an. Jedenfalls bin ich hier im Forum auf die Möglichkeit gestoßen Email-Konten direkt abzufragen und die Emails in die MailStation zu schieben. Das klingt ganz praktisch, da die Firmeneigenen Email-Konten sowieso von mir verwaltet werden und selbige sollen auch ausschließlich von unseren Mitarbeitern während der Arbeit benutzt werden.
Ich bin also u.a. diesem Wiki gefolgt um alles einzustellen. Nachdem ich ipkg und die ganzen aufgeführten Pakete installiert hatte, mich mit putty beschäftigt und den Umgang mit der Konsole erlernt hatte, hab ich der Anleitung nach eine getmail.sh im verzeichnis /volume1/homes/archiv/ mit Inhalt:
#!/bin/sh
/opt/bin/getmail -q -l --rcfile /volume1/homes/archiv/.getmail/archiv.rc
erstellt
und wie oben zu sehen die archiv.rc im .getmail unterordnermit dem inhalt:
[options]
delete = true
message_log = ~/.getmail/log

[retriever]
type = SimplePOP3Retriever
server = a@b.c
port = 110
username = xxx
password = yyy
use_apop = false
timeout = 180
delete_dup_msgids = false

[destination]
type = Maildir
path = ~/.Maildir/
user = archiv
filemode = 0600
erstellt.

Die Ordner und die Dateien gehören dem archiv-Benutzer.
Derzeit hänge ich bei der Manuellen Auslösung der getmail.sh. Dabei bin ich als root eingeloggt und hangel mich bis zum Ordner durch, wo die getmail.sh liegt. Dann benutzt ich "su archiv" um zum archiv konto zu wechseln. Dann gebe ich sh getmail.sh ein und erhalte folgende Fehlermeldung:
does not existation file /volume1/homes/archiv/.getmail/archiv.rc
Die Datei ist doch aber vorhanden.

Kann mir jemand helfen?

Danke,
Mortz
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Mach bitte mal ein
Code:
ls -al /volume1/homes/archiv/.getmail
 

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
mit dem Befehl springt er direkt in das Verzeichniss und zeigt mir den Inhalt an:
drwxrwxrwx 3 root root 4096 Aug 12 13:12 .
drwxr-xr-x 5 archiv users 4096 Aug 12 12:26 ..
-rw-rw-rw- 1 archiv users 348 Aug 12 13:12 archiv.rc
drwxrwxrwx 2 archiv users 4096 Aug 11 14:06 logs
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Das heisst der Ordner .getmail gehört bei dir root. Könnte mir vorstellen, dass dies ein Problem sein könnte. Mach mal ein
Code:
chown -R archiv:users /volume1/homes/archiv
chmod -R 0700 /volume1/homes/archiv
auch sollte das rc File keinsfalls Schreib/Leserechte für die Gruppe oder den Rest der Welt geben
 

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
hab ich alles gemacht, ich seh ja im putty wem was gehört und hab das mit chown immer versucht dem archiv zuzordnen. wenn ich nämlich eine änderung in der rc datei mache, dann mach ich das per texteditor (bin windowsnutzer) und lad das per filezilla hoch. Da ich mich mit dem admin acc einlogge gehört die Datei dann immer dem admin und das änder ich dann um.

trotzdem scheint die Datei nicht zu exisitieren
selbst wenn ich sie als root versuche aufzurufen
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wenn du sie auf einem Windows bearbeitest, dann könnten auch die Zeilenendzeichen falsch sein und getmail kann die Datei ned lesen.
Wenn du ein
Code:
cat /volume1/homes/archiv/.getmail/archiv.rc
machst, sieht dann die Ausgabe auf dem Bildschirm (Konsole) okay aus oder siehst du so merkwürdigen Zeichen an den Zeilenenden (z.B. ^M) oder steht gar alles in einer Zeile?
Noch was zu chown
drwxrwxrwx 3 root root 4096 Aug 12 13:12 . <<---
drwxr-xr-x 5 archiv users 4096 Aug 12 12:26 ..
-rw-rw-rw- 1 archiv users 348 Aug 12 13:12 archiv.rc
drwxrwxrwx 2 archiv users 4096 Aug 11 14:06 logs
bei <<--- siehst du, dass das Verzeichnis .getmail selber noch dem root gehört. Wirst es wohl unter root angelegt haben
 

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
also wenn ich das mit "cat ..." etc. eingebe, dann sieht es normal aus, aber ich habe vim nachträglich installiert gehabt und dabei zeigt es mir solche ^M an

in diesem beitrag stand mal, dass man bei diesem fehler:
# ./getmail.sh
Error: Default config/data dir "/root/.getmail/" does not exist - create or specify alternate directory with --getmaildir option
im root-verzeichniss ein .getmail-verzeichniss erstellen soll... das hab ich dann gemacht und ich glaub der fehler ist sogar deswegen verschwunden
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also ^M stehen für "falsche" Zeilenumbrüche. Das ist das Risiko wenn man die Dateien unter Windows bearbeitet. Es gibt schon gute Editoren für Windows z.B. notepad++ wo du einstellen kannst welche Zeilenendzeichen (Windows, Mac oder Linux) verwendet werden sollen.
Das mit dem getmail Verzeichnis in /root ist eine schlechte Idee. Schlicht weil du als archiv niemals Leserechte geschweige denn Schreibrechte im home von root haben darfst!
 

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
gut, hab per notepad++ die datei neu gespeichert und diesmal die zeilenenden auf linux gestellt. jetzt wird es mittels vim auch nichtmehr mit einem ^M dargestellt.

den .getmail im root verzeichniss hab ich auch erstmal gelöscht... der fehler mit dem fehlenden verzeichniss wird nichtmehr angezeigt, also wars wohl doch nicht die lösung...

er findet die datei aber trotzdem nicht

in dem wiki steht ja drin:
# dovecot (bei der neusten Firmware dabei)
# dovecot-doc
also dacht ich mir brauchste das nicht... jetzt wollt ich das trotzdem versuchen zu installieren und er meint:
VDW-NAS> ipkg install dovecot

Installing dovecot (1.2.0.beta1-2) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/dovecot_1.2.0.beta1-2_powerpc.ipk
Nothing to be done
An error ocurred, return value: 22.
Collected errors:
ipkg_download: ERROR: Command failed with return value 4: `wget --passive-ftp -q -P /opt/ipkg-M68Bea http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/dovecot_1.2.0.beta1-2_powerpc.ipk'
Failed to download dovecot. Perhaps you need to run 'ipkg update'?

dovecot zu installieren ist aber nicht nötig, da ich ja die mailstation habe, oder?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Jop dovecot ist bereits mitdabei. Das brauchst du nicht extra installieren. Kannst du mir mal genau zeigen welche Kommandos du aufrufst und was die exakte Fehlermeldung ist?
 

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
das ist die stelle wo ich hänge:
VDW-NAS> dir
drwx------ 5 archiv users 4096 Aug 12 12:26 .
drwxr-xr-x 7 root root 4096 Aug 11 13:10 ..
drwx------ 9 archiv users 4096 Aug 2 16:52 .Maildir
drwx------ 3 archiv users 4096 Aug 12 14:01 .getmail
-rwx------ 1 archiv users 85 Aug 12 12:26 getmail.sh
drwx------ 2 archiv users 4096 Aug 11 12:49 rcfiles
VDW-NAS> su archiv


BusyBox v1.1.0 (2010.04.19-13:38+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

$ sh getmail.sh
does not existation file /volume1/homes/archiv/.getmail/archiv.rc

€dit: und das hab ich auch versucht:
VDW-NAS> getmail.sh
-ash: getmail.sh: not found
VDW-NAS> su archiv


BusyBox v1.1.0 (2010.04.19-13:38+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

$ getmail.sh
ash: getmail.sh: not found
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wenn du getmail.sh ohne vorangestelltes sh aufrufen willst, dann muss die Datei erst ausführbar gemacht werden
Code:
chmod +x /path/to/getmail.sh
zusätzlich solltest du beim Aufrufen von getmail.sh, auch wenn du dich bereits im Verzeichnis befindest, immer ein ./ voranstellen
Code:
./getmail.sh
sh ./getmail.sh
dann ist es eindeutig.
Zusätzlich würde ich empfehlen im rc File komplette Pfadangaben zu benutzen und nicht ~/
Hat der User archiv das korrekte Homeverzeichnis in /etc/passwd eingetragen?
Code:
cat /etc/passwd | grep archiv
 

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
also der Eintrag in meiner passwd Datei sieht so aus:
VDW-NAS> cat /etc/passwd | grep archiv
archiv:x:1029:100:Archiv des VDW-NAS Email:/var/services/homes/archiv:/bin/ash
so ähnlich sehen alle anderen Einträge auch aus
ich fand es war ein ziemlicher Krampf dem archiv überhaupt den Zugang über die Konsole zu geben
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ändere das /var/services/homes/archiv mal in /volume1/homes/archiv (wichtig: In einem Editor auf der DS z.B. vi, denn wenn du diese Datei zerschiesst ist erstmal Essig mit einloggen)
Und die kompletten Pfadangaben im rc File hast du gemacht?
 

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
also der eintrag in der passwd datei sieht jetzt so aus:
archiv:x:1029:100:Archiv des VDW-NAS Email:/volume1/homes/archiv:/bin/ash

und meine archiv.rc sieht so aus:
[options]
delete = true
message_log = /volume1/homes/archiv/.getmail/log.log

[retriever]
type = SimplePOP3Retriever
server = pop3.xy.de
port = 110
username = xxx
password = yyy
use_apop = false
timeout = 180
delete_dup_msgids = false

[destination]
type = Maildir
path = /volume1/homes/archiv/.Maildir/
user = archiv
filemode = 0600

die log.log kann aber als normale text datei beschrieben werden für die logs?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
HA! ich habs endlich zum laufen gebracht...
in der getmail.sh gabs auch diese ^M und ~ zeichen, das war mir vorher gar nicht aufgefallen

jetzt muss ich nurnoch das mit den cronjobs zum laufen bekommen
 

Mortz

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Ich brauche nochmal Hilfe.
Mittlerweile werden die Emails ja super abgerufen, aber eben auch mehrfach.
D.h. Testmail wird abgerufen und ins Archiv gepackt, nach x min wird wieder zum Konto verbunden und Testmail wird ein weiteres mal abgerufen, sodass sie am Ende zweimal im Archiv ist. Das ist ja blöd, weil dann das NAS sehr schnell voll wird.
So wie ich gelesen habe ist delete_dup_msgids = true nicht die richtige Einstellung, das steht bei mir auch auf false.
Die Option in der getmail.sh
#!/bin/sh
/opt/bin/getmail -q -l --rcfile /volume1/homes/archiv/.getmail/archiv.rc
ist auch nicht die richtige, da mir -d die Emails vom Server löscht (-l sie drauf läßt) und ich weiß nicht wann die Mitarbeiter sich Ihre Emails abrufen (das kann u.U. auch xx Tage dauern).
Die Email-Clienten mit der DS zu verbinden will ich nicht.

Gibt es da irgendetwas anderes was ich noch nicht weiß?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Gibt es da irgendetwas anderes was ich noch nicht weiß?
Rufst du dein getmail Script als cronjob auf? Wenn ja dann könnte es sein, dass das getmail Script noch läuft, wenn der nächste Aufruf durch cron erfolgt. In diesem Fall werden die Mails mehrfach geladen.
Du solltest in deinem getmail Script prüfen ob nicht bereits eine Instanz des Scriptes läuft
Code:
#!/bin/sh
if test -e /tmp/getmail; then
 exit
fi
touch /tmp/getmail
/opt/bin/getmail -q -l --rcfile /volume1/homes/archiv/.getmail/archiv.rc                      
rm /tmp/getmail
 

sowosamma

Benutzer
Mitglied seit
16. Jun 2009
Beiträge
565
Punkte für Reaktionen
0
Punkte
42
Rich (BBCode):
#!/bin/sh
/opt/bin/getmail -q -l --rcfile /volume1/homes/archiv/.getmail/archiv.rc
ist auch nicht die richtige, da mir -d die Emails vom Server löscht (-l sie drauf läßt) und ich weiß nicht wann die Mitarbeiter sich Ihre Emails abrufen (das kann u.U. auch xx Tage dauern).

Ich habe in meiner rc unter [options]
Rich (BBCode):
read_all = false
hinzugefügt. Alle ungelesen Emails werden heruntergeladen und als gelesen auf dem pop-account gekennzeichnet. Somit wird verhindert dass sie bei der nächsten Ausführung nochmal heruntergeladen werden.

/Andi
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat