Mail von einem IMAP-Server zu einem anderen automatisch verschieben

Auf dem Server z-usr.zaft.htw-dresden.de liegt ein php-Programm, mit dem E-Mails automatisch von einem IMAP-Mail-Server zu einem anderen verschoben werden. Dazu benötigt das Programm die Verbindungsparameter für diese Mailserver und weitere Steuerparameter, die ihm in einer Datei mitgeteilt werden. Der (vollständige) Dateiname ist dem Progamm als Parameter zu übergeben.

Dateiinhalt:


<?php
// Konfigurationsdatei für /opt/moveMail.php

// die Quelle, aus der _alle_ Nachrichten woanders hingeschoben werden sollen
// hier: INBOX bei HTW-Mailer, zur Syntax siehe
// https://www.php.net/manual/de/function.imap-open.php

$srcMB = "{groupware.htw-dresden.de:993/ssl}";
$srcUser = "scheibe";
$srcPass = "meinPasswortBeiHTW";

// nach erfolgreichem kopieren loesche Nachricht aus Quelle (true|false)
$deleteSource = true;

// Schlafenszeit - Pause bis zum naechsten Durchlauf (sec)
$sleeptime = 60;


// das Ziel, in das die Nachrichten geschoben werden
// hier: testOrner auf ZAFT-Mailer von Benutzer scheibe

$dstMB = "{mail.zaft-dresden.de:143/tls/novalidate-cert}testOrdner";
$dstUser = "scheibe";
$dstPass = "meinPasswortBeiZAFT";

?>

  1. Einloggen auf z-usr.zaft.htw-dresden.de (WINDOOF10 kann sogar auch schon ssh):
    ssh [USER]@z-usr.zaft.htw-dresden.de
    oder
    ssh [USER]@141.56.89.99
    [USER]: (Unix)-Nutzername am ZAFT; damit ist man in seinem Stammverzeichnis (das man auch über "Netzlaufwerk verbinden" als "\\smb.zaft.htw-dresden.de\[USER]" erreichen könnte)
  2. ich hab mir ein Unterverzeichnis angelegt, in dem ich die Konfigurationsdatei gespeichert habe und in das auch die Logdatei geschrieben werden soll:
    		mkdir mailMove
    		cd mailMove
    		vim htw-zaft.php
  3. nach dem Speichern der Konfigurationsdatei müssen noch die Berechtigungen richtig gesetzt werden: der Eigentümer darf alles ([USER]), alle anderen dürfen nix:
    		chmod g-rwx,o-rwx htw-zaft.php
    Damit kommt außer mir niemand an meine Mail-Passwörter ran (und die Frau root, aber die muss sich auch anstrengen...)
  4. vim ist ein einfacher, aber recht mächtiger Editor. Er kennt prinzipiell zwei Modi: Steuerung und Schreiben. Umschalten von Steuerung zu Schreiben mit [a], zurück mit [ESC]. Wichtige Steuerbefehle:
GS, 12.10.2020, in der Hoffnung dass nicht allzuviele Druckfehler sind ...