Mails archivieren auf eigenen Docker-Mail-Server

Zum Archivieren sehr alter Mails (ich werf ja nix weg…) benutze ich seit heute
docker-mailserver.

Mailserver auf Docker-Basis

Dazu erstelle ich mir zunächst einen Mailserver auf Docker-Basis:

(Anleitung nach dieser Vorlage.)

  • Compose anlegen: vi docker-compose.yml
    • Ich habe dabei noch SSL_TYPE=self-signed angegeben, weil ich der Mailserver nur intern benutzen will.
  • Config-Dir anlegen: mkdir config
  • User anlegen:
docker run --rm -e MAIL_USER=meinuser@meinesubdomain.steinkopf.net -e MAIL_PASS=xx -ti tvial/docker-mailserver:latest /bin/sh -c 'echo "$MAIL_USER|$(doveadm pw -s SHA512-CRYPT -u $MAIL_USER -p $MAIL_PASS)"' >> config/postfix-accounts.cf
  • DKIM keys erzeugen (benutze ich aber nicht, weil nur intern):
docker run --rm -v "$(pwd)/config":/tmp/docker-mailserver -ti tvial/docker-mailserver:latest generate-dkim-config
  • Container starten: docker-compose up -d

Den Mailserver kann ich nun mit meindocker-host:993 ansprechen.

Mails mit imapsync kopieren

Dieses Script benutze ich z.B. um 10 Jahre (10*365 Tage) alte Mails zu kopieren:

options=""
#options="$options --justfolders "
#options="$options --dry "

options="$options --host1 sourcehost --port1 993 --ssl1 "
options="$options --user1 sourceuser --password1 xxx "

options="$options --host2 docker-prod.steinkopf.net --port2 993 -ssl2 "
options="$options --user2 meinuser@meinesubdomain.steinkopf.net --password2 yyy "

options="$options --subfolder2 fromsourcehost "

options="$options --minage 3650 "

options="$options --exclude Deleted.Items|Trash "
options="$options --delete2 --expunge2 "
options="$options --regextrans2 s/INBOX/Eingang/ "


options="$options --syncinternaldates "
options="$options --usecache "
options="$options --useheader Message-Id --skipsize "
options="$options --tmpdir /data/temp/ "

set -e
set -x
imapsync $options

Die Option --automap klingt erstmal praktisch, habe ich dann aber doch nicht benutzt, weil sie offenbar vor --subfolder2 ausgeführt, was zur Folge hat dass die ensprechend re-automap-ten Folder im globalen Folder landen statt im Unterfolder von fromsourcehost.

Anhang: docker-compose.yml

version: '2'

services:
  mail:
    image: tvial/docker-mailserver:latest
    # build: .
    hostname: meinesubdomain
    domainname: steinkopf.net
    container_name: mail
    ports:
    - "10025:25"
    - "143:143"
    - "587:587"
    - "993:993"
    environment:
      - SSL_TYPE=self-signed
    volumes:
    - ./mail/var_mail:/var/mail
    - ./config/:/tmp/docker-mailserver/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.