Mail Server Roundcube: Verbindung zum Speicherserver fehlgeschlagen.

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Hallo zusammen,

MailStation und MailServer sind bei mir auf DSM 6.2.4 durchkonfiguriert und laufen.
Nun möchte ich mit einer echten Roundcube-Installation im LAN auf den MailServer zugreifen. Grund hierfür ist u.a. calDAV/cardDAV Plugin-Unterstützung auf Synology. Da fehlt mir noch der calDAV-Part in der MailStation.
Mit EssentialsPIM habe ich alles bereits für Windows und mit Baikal.spk realisiert, ....nur halt nicht auf DSM via Roundcube(der MailStation).

Nehme ich z.B. einen Docker-Container für Roundcube (lokal, oder auch 2. DiskStation) erhalte ich immer den Fehler:
"Verbindung zum Speicherserver fehlgeschlagen."
Die Docker funken aber problemlos mit z.B. dem T-Online IMAP.

Die einzige Konstellation, die bisher nur funktionierte, war die Roundcube.spk auf einer DSM 5.2er VM einer weiteren DiskStation.

Warum wird es vom MailServer unterschiedlich behandelt? Gerne kann ich auch in bestimmten LOGs nachschauen.

Ich freue mich über jede konstruktive Unterstützung.
 
Zuletzt bearbeitet:

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Es funktioniert nun alles.
 

hoewer

Benutzer
Mitglied seit
29. Nov 2016
Beiträge
15
Punkte für Reaktionen
6
Punkte
3
Hallo RSfuchs,
darf ich nachfragen, woran es gelegen hat bzw. wie Deine Lösung aussieht? Stehe derzeit vor dem gleichen Problem :-(
Vg, hoewer
 
  • Like
Reaktionen: plang.pl

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Hallo @hoewer,

schön dass noch jemand Interesse am Thema hat.
Stand heute habe ich die Installation unter PHP5.6 ausgreizt, weiterer Ausbau steht nun in den nächsten Tagen an, also PHP7.x, ggf. Roundcube noch weiter anheben, und dann das CalDAV-Plugin einbauen. Höher als im Screenshot zu sehen kann man mit PHP5.6 nicht gehen.

Wo stehst Du mit Deinem PHP und dem DSM, hast Du schon das Roundcube SPK installiert?
Paketquelle:
https://synocommunity.com/package/roundcube

PHP-extensions habe ich folgende aktiviert:
curl, exif, gd, iconv, intl, ldap, mycrypt, mysql, mysqli, openssl, pdo_mysql, phar, zip
imagick habe ich für PHP5.6 noch compiliert und aktiviert.

Auf Roundcube Webmail 1.4.13 habe ich von der Projektseite standardmäßig gegen das Verzeichnis in der web-Freigabe aktualisiert.
https://github.com/roundcube/roundc...d/1.4.13/roundcubemail-1.4.13-complete.tar.gz
Den Versionsstand des Paketes habe ich in der Datei
/var/packages/roundcube/INFO
der Vollständigkeit halber aktualisiert auf:
version="1.4.13"

Das Verzeichnis der ursprünglichen SPK-Installation kann unterhalb von
/volume1/@appstore/roundcube/share
gelöscht werden.

Konfiguriert wird über die eigene Webseite:
http://192.168.178.xx/roundcube/installer

Dann nur noch das CardDAV Plugin installieren:
https://github.com/mstilkerich/rcmcarddav/releases/tag/v3.0.3
Hier die schöne Anleitung:
https://www.synoforum.com/threads/hacking-carddav-plugin-into-mail-station.6881/
Hier ist der Schreibfehler zu berücksichtigen:
sudo chown -R MailStatiton:MailStation carddav

Nebenbei habe ich auch alle dort beschriebenen sonstigen Plugins aktiviert mit dem vollen Eintrag:
$config['plugins'] = array('archive', 'attachment_reminder', 'emoticons', 'filesystem_attachments', 'help', 'identity_select', 'jqueryui', 'mailstation', 'managesieve', 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', 'show_additional_headers', 'subscriptions_option', 'userinfo', 'vcard_attachments', 'zipdownload', 'carddav');

So solltest Du meinen funktionierenen Stand haben.

Herzliche Grüße
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    64,3 KB · Aufrufe: 9
Zuletzt bearbeitet:
  • Like
Reaktionen: Styler und hoewer

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Die obige CardDAV Plugin-Installation ist für die originale MailStation, und kann man vorab ja ausprobieren. Bei unserer eigenen wäre die Berechtigung für "http" zu setzen.

Hier wollte ich noch die Anleitung für den Bau einer PHP-extension aufzeigen, es war ja die fehlende imagick unter PHP5.6
https://mariushosting.com/how-to-add-php-imagick-extension-on-synology-nas/
Hochladen könnte ich diese hier auch.

Leider brauche ich noch das originale MailStation Paket für fetchmail vom Hoster. Vielleicht hat jemand da eine Idee, wie die Funktion abgelöst werden kann. Ein Plugin hatte ich gefunden, war aber nicht für mysql, und die andere Anleitung habe ich nicht verstanden um es hinzubekommen.

Der nächte Step wäre dann auch den Kalender via Plugin zu Nutzen:
https://github.com/texxasrulez/caldav_calendar

Auch suche ich noch ein Plugin für Notizen oder die Linksammlung, natürlich auch basierend auf mysql.
 
Zuletzt bearbeitet:

hoewer

Benutzer
Mitglied seit
29. Nov 2016
Beiträge
15
Punkte für Reaktionen
6
Punkte
3
Hallo RSFuchs,

vielen Dank für Deine ausführliche Darstellung Deiner Konfiguration.
Ich bin zwar noch nicht am Ende meiner Reise, kann aber mein Umfeld mal kurz darstellen.

Ich würde gerne MailStation ablösen (auch wg. elastic-Skin), benötige aber - wie Du - fetchmail zum Mailabruf.
Für höhere Roundcube-Versionen gibt es dafür das Plugin 'pf4public/fetchmail'. Das ganze scheint sich nicht innerhalb des Synology-Ökosystems lösen zu lassen. Das Fetchmail-Plugin benötigt zusätzliche Perl-Module, deren Installation auf der Syno recht aufwendig wäre (und beim nächsten Update vermutlich wieder gelöscht).
Daher habe ich es mit einem Docker-Container probiert ('roundcube/roundcubemail').

Dort musste ich im Container für das Plugin noch paar Sachen installieren:

Bash:
apk add fetchmail
apk add perl
apk add perl-dbd-mysql
apk add make
perl -MCPAN -e 'install LockFile::Simple'
apk del make

Dann läuft der Container zwar schon rund, aber ich bekomme bei der Anmeldung an der am Synology Mail Server die von Dir genannte Fehlermeldung "Verbindung zum Speicherserver fehlgeschlagen.". Ich habe zum Testen noch einen Dovecot-Mailserver im Docker laufen. Mit dem kann ich mich prima verbinden, wenn ich in der dovecot.conf SSL deaktiviere.

Code:
ssl=no
disable_plaintext_auth=no

Man kann Roundcube eigentlich zwingen, auch selbst sigierte Zertifikate zu akzeptieren (hat mein Test-devocot), wie hier beschrieben https://git.kolab.org/T492, aber irgendwie funzt das bei mir nicht so recht. Gleiches gilt für den Zugriff auf den Syno Mailserver

Eigenlich wollte ich SSL beim IMAP-Zugriff auf den Synology Mail Server aber nicht deaktivieren. Ich würde auch gerne die vorhandenen Postfächer (.MailDir in den home-Ordnern) weiter nutzen, weiss aber derzeit nicht wie ich das über Docker realisieren soll, ohne jedes Postfach einzelnd zu mappen (dovecot scheint z.B. keine Grossbuchstaben bei home-Ordnern zu berücksichtigen, so das ein Mapping des gesamten home-Ordners nicht hilfreich wäre.).

So, das ist der aktuelle Stand, es gibt noch viel zu tun...
 
  • Like
Reaktionen: Styler und RSfuchs

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Ich habe nun Kontakte, Kalender und Mail komplett im nativen 1.4.13 Roundcube der DiskStation basierend auf mySQL/PHP5.6 fertig zusammen gebaut. Anbei der ScreenShot. Also so auch noch für DSM6 und DiskStation ohne docker interessant.
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    98,1 KB · Aufrufe: 6
Zuletzt bearbeitet:
  • Like
Reaktionen: hoewer

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
@hoewer
welcher Container genau funktioniert nicht, kannst Du mal bitte einen Export der Konfiguration schicken?
Welche DSM-Version auf welchem Modell ist im Einsatz?

Welches ist bei Dir der Grund mit docker zu fahren?

Offen bleibt dann für mich noch den nativen fetchmail-Ersatz einzubauen.
 
Zuletzt bearbeitet:

hoewer

Benutzer
Mitglied seit
29. Nov 2016
Beiträge
15
Punkte für Reaktionen
6
Punkte
3
Ich hatte es zunächst mit dem Conainer 'roundcube/roundcubemail' probiert, wobei ich dann noch fetchmail einbauen wollte.
Dabei kam die o.a. Fehlermeldung zustande, da ich bei bei netzinterner Verbindung nicht den externen Domainnamen genutzt hatte. Gelöst hatte ich das mit der Anpassung der config.inc.php, dort musste ich für die IMAP-Verbindung explizit den 'peer_name' angeben:
PHP:
$config['imap_conn_options'] = array(
    'ssl' => array(
        'verify_peer'       => true,
        'allow_self_signed' => false,
        'verify_depth' => 3,
        'peer_name'         => 'my.domian.tld',
        'ciphers'           => 'TLSv1+HIGH:!aNull:@STRENGTH',
    ),
);
Ich habe dieses Konstrukt jedoch aufgegeben, da der Roundcube-Pfad mitsamt Konfiguration, Plugins etc. ohnehin außerhalb des Containers lag und der Mehrwert des Containers für mich nur bedingt ersichtlich war.


Jetzt habe ich Roundcube 1.6.1 direkt auf der DS installiert und per virtuellem Host erreichbar gemacht. Das Plugin 'pf4public/fetchmail' schreibt die zu fetchenden POP3 bzw. IMAP Accounts in eine Datenbank. Zusätzlich habe ich den Docker Container 'volkerraschek/postfixadmin-fetchmail' im Hintergrund laufen, da ich auch bzgl. Fetchmail nicht von Synology abhängig sein möchte. Per cronjob wird fetchmail im Docker-Container gestartet, liest die abzufragenden E-Mail-Accounts aus der Datenbank und leitet die Mails in die definierten Postfächer (bei mir via procmail als mda, aber das führt an dieser Stelle zu weit).

Die MailStation könnte ich also jetzt eigentlich löschen. Zukünftig kann ich problemlos jede beteiligte Komponente auf die mir passende Version updaten, ohne auf die diskussionswürdige Update-Politik von Synology angewiesen zu sein.
 
  • Like
Reaktionen: RSfuchs

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Er schreibt bei mir keine fetchmail-Konfiguration in die mySQL Datenbank.
fetchmail-1.0.11.tar.gz
Was könnte es sein?


...ah lesen kann er. Update geht aber auch nicht.
Vielleicht weil ich noch kein fetchmail habe?
 
Zuletzt bearbeitet:

hoewer

Benutzer
Mitglied seit
29. Nov 2016
Beiträge
15
Punkte für Reaktionen
6
Punkte
3
Tja, was soll ich sagen, wenn das Auslesen von Daten funktioniert, ist die Datenbankverbindung offenbar in Ordnung.
Auch wenn es sich nach einem Tipp auf dem Niveau "Haben Sie ihren Rechner schon mal aus- und wieder eingeschaltet" anhört, Schreibrechte auf der Tabelle hat der genutzte DB-User schon, oder?
Liefert roundcube/logs/errors.log irgendwas Relevantes?

Das fehlende Fetchmail kann es eigentlich nicht sein; was mit den von ihm geschriebenen Daten im Nachgang passiert, interessiert das Plugin m.E. nicht.
 
  • Like
Reaktionen: RSfuchs

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Komme zurück auf Dein Problem mit dem Docker. Die höchste Version die bei mir funktionierte war die 1.4.11er:
roundcube-roundcubemail.syno.1.4.11-apache
Ist das Release höher, habe ich eine Unverträglichkeit des Apachen mit meiner CPU (Cedarview). Deshalb hatte ich auch nach dem Modell bei Dir gefragt.
 

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Aktueller Stand der nativen Implementierung ist, dass fetchmail.pl ohne Fehlermeldung durchläuft, dabei werden keine Mails abgerufen. Bin nun ratlos, sollte doch irgendwo geloggt werden.
Anbei mein Script. Ist ab Zeile 37 etwas zu ändern?
 

Anhänge

  • fetchmail.pl.txt
    4,4 KB · Aufrufe: 3
Zuletzt bearbeitet:

hoewer

Benutzer
Mitglied seit
29. Nov 2016
Beiträge
15
Punkte für Reaktionen
6
Punkte
3
Habe grade wenig Zeit, aber als kurze Info: in der Datenbank speichert Fetchmail auch den letzten Abrufstatus - bei Fehlern also auch die Fehlerausgabe.
 

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Das Feld "returned_txt" ist leider bei beiden Providern leer.

Dann habe ich den Script weiter unten in Zeile 122 doch geändert.
Dort ist deliver fest verdrahtet, wurde aber als Variable vorher bereits definiert.

Das fetchmail-Programm aus dem s.o. Screenshot wird abgelegt in:
/bin/fetchmail

Im roundcube habe ich ein Verzeichnis für die Dinge hier angelegt:
/volume1/web/roundcube/ext

root@DS216play:/volume1/web/roundcube/ext# dir

drwxrwxr-x 2 root administrators 4096 Feb 11 21:52 .
drwxr-xr-x 13 http root 4096 Feb 11 14:49 ..
lrwxrwxrwx 1 root administrators 57 Feb 11 14:57 deliver -> /volume1/@appstore/MailServer/libexec/dovecot/dovecot-lda
-r--r--r-- 1 UserName users 6 Feb 11 21:52 fetchmail-all.lock.lock
-rw------- 1 UserName users 6 Feb 11 21:52 fetchmail.pid
-rwxrwx--- 1 root dovecot 4405 Feb 11 16:43 fetchmail.pl

Den Benutzer UserName habe ich in die Gruppe dovecot mit aufgenommen.

Die Zeilen sehen sehen dann so aus:

35
$dovecot_deliver = "./deliver";

122
$cmd.=" mda \"${dovecot_deliver} \"";

Das vorherige Postfach in 122 ist totaler Quatsch.
Dann wird unterhalb des Maildir des eigenen Benutzers nochmal ein Verzeichnis .Postfachname angelegt, und die files dort hinein gepummt.

Der Aufruf dann:
perl /volume1/web/roundcube/ext/fetchmail.pl

Perfekt, bin erstmal fertig. Nur noch einen cron-Job anlegen.

Läuft also alles native, sogar bei mir auf einer DS216play 32-bit ARM mit DSM 6.2.4 :cool:

Das Paket MailStation habe ich final auch gelöscht. Das macht sooooooooo frei nicht mehr auf den alten Kram angewiesen zu sein.

@hoewer
Vielen Dank für Deine Anregungen und alles Gute!
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Styler und hoewer

RSfuchs

Gesperrt
Mitglied seit
25. Mai 2017
Beiträge
391
Punkte für Reaktionen
29
Punkte
28
Ist einmal das Programm für den Mail-Abruf verfügbar als:
/bin/fetchmail

Kann man als Alternative auch den "Fetchmail E-Mail-Empfang" über das Webmin Paket konfigurieren.
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    48,5 KB · Aufrufe: 3
  • Unbenannt2.JPG
    Unbenannt2.JPG
    91,9 KB · Aufrufe: 3

Styler

Benutzer
Mitglied seit
19. Feb 2023
Beiträge
51
Punkte für Reaktionen
4
Punkte
8
Wow, und vielen Dank Euch beiden für die Inspiration und schöne Anleitung!

Ich habe noch Plugins für die folgenden Bereiche gefunden, und erfolgreich ergänzen können:
- Aufgaben
- Notiz
- 2FA Kennwörter
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    68,8 KB · Aufrufe: 7
Zuletzt bearbeitet:

Styler

Benutzer
Mitglied seit
19. Feb 2023
Beiträge
51
Punkte für Reaktionen
4
Punkte
8
Ich bekomme gerade IMAP-Fehler nach dem Einspielen des heutigen Updates vom MailServer.

IMAP Error: Login failed .... Could not connect to localhost:143: Connection refused

Bin zurück auf
MailServer- ... -1.7.3-0657
und es funktioniert nach einem Neustart erstmal wieder.
 
Zuletzt bearbeitet:


 

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