Mailstation / Roundcube Pop3 Emails automatisch als Datei empfangen

Status
Für weitere Antworten geschlossen.

ActionAndy

Benutzer
Mitglied seit
22. Jan 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich hoffe jemand kann mir mit folgender Problemstellung helfen:

Habe auf meiner Synology in der Mailstation ein Pop3-Emailkonto hinterlegt. Der Empfang von Emails über dieses Konto funktioniert und die Emails werden nach deren Empfang korrekt auf dem Filesystem meiner Synology NAS (DS116) als Dateien im Pfad \\synology\homes\user\.Maildir\cur abgelegt. Jedoch erfolgt der Empfang und das Schreiben von Emails als Dateien nur wenn ich mich an der Mailstation über die Roundcube Web-Oberfläche anmelde.

Gibt es eine Möglichkeit die Emails automatisch im Hintergrund (also ohne Anmeldung) zu empfangen, damit die Emails als Dateien abgelegt werden?

Hintergrund: Ich habe ein Skript über den Aufgabenplaner im Einsatz, welche aus den abgelegten Email-Dateien die Anhänge extrahiert und an einem anderen Speicherort ablegt. Das ganze funktioniert schon automatisiert per Skript, jedoch muss ich mich zuvor für den Empfang der Emails immer erst manuell anmelden. Das möchte ich zukünftig eben nicht mehr.

Vorab danke für Eure Hilfe!

Gruß ActionAndy
 

Lux007

Benutzer
Mitglied seit
08. Aug 2016
Beiträge
116
Punkte für Reaktionen
2
Punkte
18
Hallo!

Wenn Du dich mit der Admin-Kennung an der Mailstation anmeldest, kannst Du dort einen Abrufintervall für alle POP3-Konten definieren.
Ein Admin-Menü ist dann oben rechts...

Gruß
Lux007
 

ActionAndy

Benutzer
Mitglied seit
22. Jan 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Ich habe mich mit dem Admin angemeldet und die "Admin-Einstellungen" überprüft. Dort sind als Empfangsintervall (Min) = 30 hinterlegt. Auch sitzt das Häkchen bei "Benutzern erlauben, E-Mails von externen POP3-Mailservern zu empfangen".

An was könnte es noch liegen?
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Schonmal den Haken rausgenommen, gespeichert, wieder gesetzt und nochmal gespeichert?
 

ActionAndy

Benutzer
Mitglied seit
22. Jan 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hat leider auch nichts gebracht.

Nachdem ich mich angemeldet habe, erscheinen die Emails sofort und werden dann auch als Dateien abgelegt. Aber genau das will ich ja automatisieren. Weitere Ideen woran es liegen könnte?

Ist das Empfange der Emails im Hintergrund (ohne) Anmeldung an Roundcube denn das Standardverhalten?
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Standard ist das nicht. Du musst das als admin wie beschrieben schon aktivieren.
 

ActionAndy

Benutzer
Mitglied seit
22. Jan 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Habe es aktiviert wie beschrieben. Nach wie vor werden die Emails nicht im Hintergrund (ohne Anmeldung) abgeholt.

Was kann ich noch tun?
 

Lux007

Benutzer
Mitglied seit
08. Aug 2016
Beiträge
116
Punkte für Reaktionen
2
Punkte
18
Hallo!

Schau mal per SSH/WinSCP im Pfad
/var/packages/MailStation/target/mail/ext
nach.

Dort sollten die Dateien für den Mailempfang liegen (Endung _fetch). In den Dateien sind zu Zugangsdaten und am Anfang sollte eine Zeile:


auftauchen (XXX = Anzahl in Sekunden bis erneute E-Mail abgeholt werden, z.B. 900 für alle 15 Minuten).

Ggf. hilft es auch bei dem Benutzer die POP3-Daten nochmal zu erfassen bzw. neu zu speichern, falls das autom. Polling noch nicht beim Einrichten der E-Mail-Konten aktiv war.

Gruß
Lux007
 

ActionAndy

Benutzer
Mitglied seit
22. Jan 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Die Fetch-Datei für den Mailemfang lag in diese Ort ab und der Parameter für den Empfangsintervall war ebenfalls auf 900 eingestellt.

Habe nun das Pop3 Postfach gelöscht und wieder neu angelegt. Jedoch werden die Emails immer noch erst nach der Anmeldung an Roundcube abgeholt und als Dateien geschrieben.

Erzeugt es bei Euch die Dateien auf dem Filesystem für neue, im Hintergrund eingegangene Emails auch wenn ihr nicht angemeldet seid?

Gehe ich richtig in der Annahme, dass der nächste Schritt die Deinstallation und Neuinstallation des Mailstation-Paket ist?
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Du könntest auch ein Ticket bei Synology aufmachen.
 

Lux007

Benutzer
Mitglied seit
08. Aug 2016
Beiträge
116
Punkte für Reaktionen
2
Punkte
18
Hallo!

Hier läuft das automatisch im Hintergrund. Ich melde mich gar nicht an der Mailstation an, sondern Sichte die E-Mails per IMAP auf der DS. Die Mailstaion legt nur die Dateien an. Der Mailserver stellt den Dienst auch für die Abholung der E-Mails per POP3 bereit. Ich hoffe der Mailserver läuft. Ggf. den erneut installieren - oder halt mal an den Support wenden.

Gruß
Lux007
 

ActionAndy

Benutzer
Mitglied seit
22. Jan 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Kurzes Update. Laut dem Support funktioniert das automatische Empfangen von Emails mit der Mailstation nicht ohne vorherige Anmeldung an der Roundcube-Weboberfläche.
Sorry das ist aber echt "Steinzeit". Mittlerweile holt jedes Smartphone im Hintergrund automatisch Email ab. Egal ob Pop3 oder Imap!

Letztendlich will ich doch nur, dass die Dateien für die neuen Emails geschrieben werden ohne vorherige Anmeldung (manuell) an der Mailstation. Ein Skript extrahiert aus diesen Email-Dateien dann automatisch die Anhänge.

@Lux007: Du hast zusätzlich zur Mailstation noch den Mailserver in Betrieb. Diesen habe ich bei mir nicht aktiv sondern rein das Pop3 Postfach in der Mailstation. Macht das evtl. den Unterschied?
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Die Aussage vom Support ist doch Unfug.
Ich habe Mailserver und Mailstation in Betrieb und bin so gut wie nie auf der GUI unterwegs. Mails kommen aber trotzdem bei mir an.
Und: wozu sollte ich als admin ein Zeitintervall eingeben können, wenn es eh darauf hinauslaufen sollte, dass ich mich an der GUI anmelden muss.
 

Lux007

Benutzer
Mitglied seit
08. Aug 2016
Beiträge
116
Punkte für Reaktionen
2
Punkte
18
Hallo!

Der MailServer muss laufen. In der Konfiguration habe ich glaube ich nichts (oder nicht viel eingetragen). Ist schon was her.

Ggf. mal den Bereich "SMTP" aktivieren. Hier mal meine Einstellungen von dieser Seite im Mailserver:

mailserver_smtp.png

Gruß
Lux007
 

ActionAndy

Benutzer
Mitglied seit
22. Jan 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Habe den Mail-Server nun mal wie oben beschrieben aktiviert.

Der Support hat übrigens nochmal geantwortet, nachdem ich Eure Hinweise ("Unfug") im Ticket preis gegeben habe. Mit folgender Antwort:

---------------------------------------
Fetchmails werden vom Client (MailStation/Roundcube) abgerufen und nicht vom Server, daher kann es nicht laufen wenn es geschlossen ist.
Wenn Outlook oder Thunderbird geschlossen sind, dann können auch keine E-Mails abgerufen werden (auch nicht im Hintergrund).
---------------------------------------

Vielleicht bringt uns das noch weiter...
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Macht auch nicht mehr Sinn, denn meine Mailstation/Roundcube läuft ja weiter, wenn ich die Oberfläche schließe.
Wenn du nochmal nachfragst sagen sie dir noch, dass du dich nicht vom DSM abmelden darfst, damit die DS weiterarbeiten kann.
 

Lux007

Benutzer
Mitglied seit
08. Aug 2016
Beiträge
116
Punkte für Reaktionen
2
Punkte
18
Hallo!

Ich habe jetzt nochmal nachgesehen.
Bei mir wird der "fetchmail-Dienst" aktiviert beim Start der Mailstation. Im Script /var/packages/MailStation/scripts/start-stop-status bei mir sind entsprechende Aufrufe für fetchmail enthalten.

Nach dem Start der Mailstation habe ich in der Prozessliste (abfragbar mit: ps -fC fetchmail) z.B.

UID PID PPID C STIME TTY TIME CMD
XXXX1 25136 1 0 14:48 ? 00:00:00 /var/packages/MailStation/target/bin/fetchmail -f /var/packages/MailStation/target/mail/ext/XXXX1_fetch --pidfile /var/services/homes/XXXX1/.Maildir/fetchmal.pid
XXXX2 25148 1 0 14:48 ? 00:00:00 /var/packages/MailStation/target/bin/fetchmail -f /var/packages/MailStation/target/mail/ext/XXXX2_fetch --pidfile /var/services/homes/XXXX2/.Maildir/fetchmail.pid
XXXX3 25159 1 0 14:49 ? 00:00:00 /var/packages/MailStation/target/bin/fetchmail -f /var/packages/MailStation/target/mail/ext/XXXX3_fetch --pidfile /var/services/homes/XXXX3/.Maildir/fetchmail.pid
XXXX4 25173 1 0 14:49 ? 00:00:00 /var/packages/MailStation/target/bin/fetchmail -f /var/packages/MailStation/target/mail/ext/XXXX4_fetch --pidfile /var/services/homes/XXXX4/.Maildir/fetchmail.pid

Hier mal das start-stop-status-Script (so ausgeliefert auf meiner DS):

#!/bin/sh
VOLUME=`/usr/bin/readlink /var/services/homes | /usr/bin/cut -d'/' -f2`

PACKAGE_DIR="/var/packages/MailStation"
WebMailEnabled="$PACKAGE_DIR/enabled"
WebMailDir="$PACKAGE_DIR/target"
WebmailDesktop="/usr/syno/synoman/webman/3rdparty/MailStation"
WebMailExt=${WebMailDir}/mail/ext
WebMailConf=${WebMailDir}/mail/config/config.inc.php
UIStringDir="$PACKAGE_DIR/target/ui/texts"
DSM_INDEX_ADD="/usr/syno/bin/pkgindexer_add"
DSM_INDEX_DEL="/usr/syno/bin/pkgindexer_del"
NGINX_CONF_DIR="/usr/local/etc/nginx/conf.d/"

FetchBin="/var/packages/MailStation/target/bin/synofetch"

popusers=`/usr/bin/find ${WebMailExt} -name "*_fetch" | /usr/bin/cut -d'/' -f8 | sed 's/.\{6\}$//'`

GenerateMessage() {
local key=$1
case $SYNOPKG_DSM_LANGUAGE in
chs | cht |csy | dan | enu | fre | ger | hun | ita | jpn | krn | nld | nor | plk| ptb | ptg | rus | spn | sve | trk | tha)
echo $(sed -n '/^\[app\]/,/^'$key'/s/'$key'.*=.*"\(.*\)"/\1/p' $UIStringDir/$SYNOPKG_DSM_LANGUAGE/strings) > $SYNOPKG_TEMP_LOGFILE
;;
* )
echo "This package requires you to enable Mail Server." > $SYNOPKG_TEMP_LOGFILE
;;
esac
}

POP3FetchControl(){
POP3Fetch_enabled=`grep -E "config.*'extmailallow'" ${WebMailConf} | tr -d ' ' | cut -d '=' -f2`
if [ "$POP3Fetch_enabled" != "true;" ]; then
return
fi
for popusr in $popusers
do
if [ -e ${WebMailExt}/${popusr}_fetch ]; then
# workaround for DSM 6.2.2 bug, it will reset all permissions as MailStation:MailStation ...
# set owner back to the real owner. considering domain user specifically (avoid wrong backslash escape)

real_name=`synouser -get ${popusr} | head -1 | cut -d '[' -f 2 | cut -d ']' -f 1`

if [ $? = 0 ]; then
echo "chown: ${real_name}, ${popusr}"
chown ${real_name} ${WebMailExt}/${popusr}_fetch
chown ${real_name} "${WebMailExt}"/"${popusr}".proc.*
fi

${FetchBin} ${popusr} $1
fi
done

}

StartDaemons() {

if [ -f "/usr/syno/bin/synofetch" ]; then
rm "/usr/syno/bin/synofetch"
fi
chown root:MailStation ${FetchBin}
chmod 4750 ${FetchBin}
}

CheckEnv()
{
if [ ! -f "${WebMailEnabled}" ]; then
exit 1
fi

if [ ! -f "/var/packages/MailServer/enabled" ]; then
GenerateMessage "require_service"
exit 1;
fi
}

Start()
{
CheckEnv

StartDaemons
POP3FetchControl -1

${DSM_INDEX_ADD} ${WebMailDir}/ui/index.conf

cp -f "${PACKAGE_DIR}/target/etc/www.MailStation.conf" "${NGINX_CONF_DIR}"
}

case "$1" in
start)
Start
;;
stop)
killall fetchmail
if [ -f "${WebMailEnabled}" ]; then
exit 0
fi
${DSM_INDEX_DEL} ${WebMailDir}/ui/index.conf
rm -f "$NGINX_CONF_DIR/www.MailStation.conf"

;;
restart)
sleep 1
StartDaemons
;;
status)
if [ -f "${WebMailEnabled}" ]; then
exit 0
fi
exit 1
;;
log)
echo ""
;;
*)
echo "Usage: $0 {start|stop|restart|status}" >&2
exit 1
;;
esac

exit 0

Und die Funktionalität ist bei mir seit Jahren unverändert (seit DSM 5.x).

Gruß
Lux007
 

ActionAndy

Benutzer
Mitglied seit
22. Jan 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Ok, danke schon mal.

Du meinst ich soll das start-stop-status-Script nun mal per Aufgabenplaner in regelmäßigen Abständen ausführen, um die Mailstation für den Empfang der Emails (fetchmail) nicht manuell starten zu müssen?
 

Lux007

Benutzer
Mitglied seit
08. Aug 2016
Beiträge
116
Punkte für Reaktionen
2
Punkte
18
Hallo,

das regelmäßige starten bringt es glaube ich nicht.

Erstmal wäre wichtig, ob auf deiner DS das gleiche Script hinterlegt ist, welches ja die fetchmail-Prozesse starten sollte. Wenn das Script gleich ist, ist halt die Frage, warum es bei dir die fetchmail-Prozesse nicht startet. Hast Du den mal nachgesehen, ob bei dir ggf. die Prozesse laufen und nur falsche Parameter haben? Wenn das start-stop-status-Script gleich ist, vielleicht nochmal einen Support-Auftrag bei Synology aufmachen mit dem Hinweis, das die fetchmail-Prozesse beim Start der Mailstation nicht wie im start-stop-status-Script hinterlegt gestartet werden...

Gruß
Lux007
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Ich denke auch, dass ein Ticket bei Synology Klärung bringen sollte. Das Verhalten entspricht ja nicht dem, was der Hersteller im Sinn hatte.
 
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