E-Mail-Archivierung mit MailStore Home

Zur Datensicherung von E-Mail-Postfächern hat sich das Programm MailStore Home, welches für Privatanwender kostenlos ist, bewährt. Das Programm lässt sich unter https://www.mailstore.com/de/produkte/mailstore-home/ herunterladen.

Um eine Datensicherung eines bestehenden Postfachs zu erstellen, wird zuerst ein Eintrag mit den Postfach-Daten angelegt. Das geht über verschiedene Wege, für diesen Artikel beschreibe ich den Weg über IMAP. Die Screenshots stammen aus der englischen Version.

Klicken Sie zuerst auf „Archive E-mail“ , dann auf „Advanced“ und „IMAP Mailbox“

Geben Sie im Dialog die IMAP-Daten des Postfachs ein. Das Feld „E-mail Address“ dient letztendlich nur als Name für die Sicherung. Die Daten für IONOS Postfächer sind:

  • Host: imap.ionos.de
  • User Name: Dort tragen Sie die komplette E-Mail-Adresse ein
  • Password: Das Passwort des Postfachs

Über „Test“ können Sie bei Bedarf testen, ob die Daten stimmen. Klicken Sie danach auf „Next“ um fortzufahren.

Auf der nächsten Seite erhöhe ich üblicherweise nur den Timeout auf z.B. 3000 Sekunden, damit die Archivierung nicht gleich abbricht, wenn eine Aktion einmal etwas länger dauert. Über „Finish“ wird der Eintrag dann angelegt. Zu diesem Zeitpunkt findet noch keine Sicherung der Daten statt.

Unter „Profile name“ findet sich der soeben angelegte Eintrag. Klicken Sie den Eintrag doppelt, um die Datensicherung zu starten.

Unter „My Archive“ finden Sie dann die gesicherten E-Mails.

Die Wiederherstellung einer erstellten Datensicherung erfolgt über „Export E-mail“ die Sicherung kann dabei auch in ein anderes Postfach erfolgen als das von dem die Sicherung erstellt wurde. Klicken Sie auf „IMAP Mailbox“

Als erstes wählen Sie die Datensicherung aus, die in das Zielpostfach eingespielt werden soll und danach auf „Next“ um fortzufahren.

Hier müssen Sie die Zugangsdaten des Ziel-Postfachs und den IMAP-Server angeben. Die Daten für IONOS sind:

  • Host: imap.ionos.de
  • User name: Die komplette E-Mail-Adresse des Ziel-Postfachs
  • Password: das Passwort des Zielpostfachs

Auch hier können Sie über „Test“ prüfen, ob eine Verbindung herstellt werden kann. Mit „Next“ fahren Sie fort.

Auch hier setze ich den Timeout gerne etwas hoch. Der Eintrag wird über „Finish“ angelegt. An dieser Stelle erfolgt noch ein Einspielen der Datensicherung.

Über einen Doppelklick auf den erstellten Eintrag starten Sie die Einspielung der Datensicherung in das Zielpostfach.

Standardmäßig werden die E-Mails in einem separaten Unterordner „MailStore Export“ angelegt.

Dateien per cronjob in den 1&1 Online Speicher kopieren

Die 1&1 Webhosting Verträge bieten für jeden E-Mail Benutzer 2GB Online Speicher (kostenpflichtig auch erweiterbar). Dieser lässt sich auch per Webdav vom Webspace nutzen um Dateien zu kopieren.


00 05 * * * find /kunden/homepages/5/d1234567/htdocs/logs -type f -name '*log*' -exec curl --user '[email protected]:einpasswort' -T {} https://webdav.office.1und1.de/logs/' \; 2>&1

„find /kunden/homepages/5/d210846470/htdocs/logs -type f -name ‚*log*'“ sucht im Verzeichnis logs alle Dateien die „log“ im Namen enthalten. Der Pfad muss natürlich angepasst werden je nach Vertrag.
[email protected]“ ist der Benutzername des Online Speicher Benutzers.
„einpasswort“ ist das Passwort des Online Speicher Benutzers.

Serverseitige Filterregeln im OX7 Webmailer

Dieser Beitrg bezieht sich auf den aktuellen Webmailer (aka OX7) in den 1&1 Webhosting-Verträgen auch 1&1 Mail Business Konten nutzen diese Oberfläche. Den Artikel zur Vorgängerversion befindet sich hier.

Wer seine E-Mails über einen lokalen E-Mail Client abruft hat mit dem Webmailer im Normalfall relativ wenig zu tun. Serverseitige Filterregeln können aber auch interessant sein, wenn man den Webmailer nicht nutzt.

Serverseitige Filterrregeln werden (wie der Name schon sagt) bereits auf dem Server ausgeführt direkt wenn eine E-Mail im Postfach eintrifft. Damit haben diese Regeln automatisch auch Auswirkungen auf die lokalen E-Mail Programme oder das Smartphone.

Wenn man sich in den Webmailer einloggt findet man die Regeln unter „Einstellungen bearbeiten“ (das Symbol mit den 3 Querbalken rechts oben). Danach klickt man im linken Baum auf „E-Mail“ und dann „Filterregeln“.

filterregeln_ox7_1Über „Neue Regel hinzufügen“ lässt sich eine neue Regel einrichten. Der „Regel-Name“ ist dann die Bezeichnung der Regel, damit man selber weiss was man da überhaupt anlegen wollte.

 

Als erstes stehen nun die Bedingungen an.

filterregeln_ox7_1

Wurde mehr als eine Bedingung angelegt, hat man auch noch die Auswahl zwischen:
„Regel anwenden, wenn irgendeine Bedingung erfüllt ist.“
und
„Regel anwenden, wenn alle Bedingungen erfüllt sind“.

Bei „irgendeine“ reicht es wenn nur eine einzige der Bedingungen zutrifft, dann werden die Aktionen der Regel bereits ausgefüllt. Bei „alle“ müssen alle Bedingungen zutreffen damit dies geschieht.

Eine Bedingung ist immer bereits erstellt, der Button „Bedingung“ hinzufügen erstellt eine weitere Bedingung.

In dem Beispiel auf dem Screenshot gibt es zwei Bedingungen die beide auch zutreffen müssen. Taucht irgendwo im Betreff der E-Mail das Wort „Facebook“ auf und gleichzeitig beim Absender „facebookmail.com“ dann werden die Aktionen der Regel ausgeführt.

Die Aktionen sind die Handlungen die mit der E-Mail durchgeführt werden, wenn die Bedingungen zutreffen. Im Beispiel wird diese E-Mail dann sofort in den Unterordner „Spam“ verschoben. Über „Aktion hinzufügen“ können diese hinzugefügt werden.

Als letztes gibt es noch die Option „Gegen nachfolgende Regeln prüfen“. Die Regeln werden serverseitig eine nach der anderen ausgeführt. Unter „Mailfilterregeln
“ sind alle Regeln aufgelistet und die aktiven (ist die Option „Deativieren vorhanden, ist die Regel aktiv) werden von Oben nach Unten abgearbeitet. Wäre nun unterhalb der Werbe-Spam Regel die eigentlich alle betroffenen E-Mails in den Ordner Spam verschiebt noch eine Regel die besagt dass die E-Mail behalten werden soll sobald im Betreff das Wort „Patricia“ auftaucht. Eine E-Mail „Patricia hat an deine Pinnwand gepostet“ von Facebook würde demnach dann nicht verschoben werden, aber nur wenn diese Option eben gesetzt ist. Ansonsten würden nachfolgende Regeln für diese E-Mail nicht mehr beachtet werden.

Mit den Regeln kann man sich aber auch Probleme schaffen. Ich kann nur von der Aktion „Verwerfen“ abraten. E-Mails die über diesen Weg gelöscht werden können auch nicht von 1&1 über ein Backup zurück geholt werden.

 

.user.ini statt php.ini

Mit den neueren PHP-Versionen (5.4 und höher) bietet es sich an, auf die php.ini zu verzichtet und stattdessen eine Datei .user.ini zu verwenden.

Der Inhalt der Datei ist derselbe wie bei der php.ini. Vorteil: Wie die .htaccess vererbt sich diese auf alle Unterverzeichnisse. Existiert zusätzlich einbe php.ini, so wird diese ignoriert.

Anwendungen wie ionCube Loader oder Zend Guard Loader funktionieren allerdings weiterhin nur mit der php.ini .

MySQL-Datenbanken Importieren und Exportieren per PHP-Skript

Wer in seinem Tarif keinen SSH-Zugang hat muss sich bei MySQL-Sicherungen entweder mit dem PHPmyAdmin (der ab einer Datenbankgröße von wenigern MB ohnehin ganz aufgibt) rumärgern oder er greift zum Import per Skript.

Folgende Skripte dienen zum Export und Import von MySQL Datenbanken. Der Datenbank Dump wird hier nicht gepackt, bzw. es wird erwartet dass er ungepackt vorliegt.
Eventuelle Fehlermeldungen werden über das Skript ausgegeben.

Hier das Import-Skript. Wichtig ist, dass die Werte für Hostname, Datenbankname, Benutzername, passwort und Name des MySQL-Dumps am Anfang angepasst werden an die Daten der jeweiligen MySQL-Datenbank ($HOSTNAME, $MYSQL_PASSWORD, $MYSQL_USER, $MYSQL_DATABASENAME, $DUMPFILENAME).

Das Skript wird dann ganz normal über den Browser aufgerufen (http://domain.tld/import.php).

Import-Skript:

<?php

//Hostname/Servername des Datenbankservers
$HOSTNAME = "db1234567.db.1and1.com";

//Passwort für die MySQL-Datenbank in die importiert wird
$MYSQL_PASSWORD = "XYZ";

//Benutzername der MySQL-Datenbank in die importiert wird
$MYSQL_USER = "dbo1234567";

//Datenbankname der MySQL-Datenbank in die importiert wird
$MYSQL_DATABASENAME = "db1234567";

//Name der Datei die importiert werden soll. Der Dump darf nicht gepackt sein.
$DUMPFILENAME = "dump.sql";

 

$cmd = "/usr/bin/mysql --host=".$HOSTNAME." --password=".$MYSQL_PASSWORD." --user=".$MYSQL_USER." ".$MYSQL_DATABASENAME." < ".$DUMPFILENAME;

echo "<html>\n<head>\n<title>MySQL-Import</title>\n</head>\n<body style='background-color:#FDF8CE;'>\n";
echo "<span style='font-family:tahoma,geneva,sans-serif;'>\n";

echo "<h1><strong>MySQL Import-Skript</strong></h1>\n";

echo "<hr/>\n";
echo "<b>Ausgeführter Befehl:</b><br>";
echo $cmd."<br><br>";
echo "<hr/>\n";

          $proc=proc_open($cmd, array(0=>array('pipe', 'r'), 1=>array('pipe', 'w'), 2=>array('pipe', 'w')), $pipes);
          fwrite($pipes[0], '');fclose($pipes[0]);
          $stdout=stream_get_contents($pipes[1]);fclose($pipes[1]);
          $stderr=stream_get_contents($pipes[2]);fclose($pipes[2]);
          $rtn=proc_close($proc);
          echo "<b>Errors:</b> ".$stderr."<br><br>\n";
          echo "<b>Output:</b> ".$stdout."<br><br>\n";
          echo "<b>Returns:</b> ".$rtn."<br><br>\n";

echo "<hr/>\n";
echo "</span><br>\n";
echo "<strong><span style='font-size:10px;'><span style='font-family: tahoma,geneva,sans-serif;'><a style='text-decoration: none' href='https://sinnfragen.mzimmer.com/'>Bow Ties are cool</a></span></span></strong>\n";
echo "</body>\n</html>\n";

 

?>

 

Export-Skript:

<?php

//Hostname/Servername des Datenbankservers
$HOSTNAME = "db1234567.db.1and1.com";

//Passwort für die MySQL-Datenbank in die exportiert wird
$MYSQL_PASSWORD = "XYZ";

//Benutzername der MySQL-Datenbank in die exportiert wird
$MYSQL_USER = "dbo1234567";

//Datenbankname der MySQL-Datenbank in die exportiert wird
$MYSQL_DATABASENAME = "db1234567";

//Name der Datei in die exportiert werden soll.
$DUMPFILENAME = "dump.sql";

$cmd = "/usr/bin/mysqldump --host=".$HOSTNAME." --password=".$MYSQL_PASSWORD." --user=".$MYSQL_USER." ".$MYSQL_DATABASENAME." > ".$DUMPFILENAME;

echo "<html>\n<head>\n<title>MySQL-Export</title>\n</head>\n<body style='background-color:#D5FDCE;'>\n";
echo "<span style='font-family:tahoma,geneva,sans-serif;'>\n";

echo "<h1><strong>MySQL Export-Skript</strong></h1>\n";

echo "<hr/>\n";
echo "<b>Ausgeführter Befehl:</b><br>";
echo $cmd."<br><br>";
echo "<hr/>\n";

          $proc=proc_open($cmd, array(0=>array('pipe', 'r'), 1=>array('pipe', 'w'), 2=>array('pipe', 'w')), $pipes);
          fwrite($pipes[0], '');fclose($pipes[0]);
          $stdout=stream_get_contents($pipes[1]);fclose($pipes[1]);
          $stderr=stream_get_contents($pipes[2]);fclose($pipes[2]);
          $rtn=proc_close($proc);
          echo "<b>Errors:</b> ".$stderr."<br><br>\n";
          echo "<b>Output:</b> ".$stdout."<br><br>\n";
          echo "<b>Returns:</b> ".$rtn."<br><br>\n";

echo "<hr/>\n";
echo "</span><br>\n";
echo "<strong><span style='font-size:10px;'><span style='font-family: tahoma,geneva,sans-serif;'><a style='text-decoration: none' href='https://sinnfragen.mzimmer.com/'>Bow Ties are cool</a></span></span></strong>\n";
echo "</body>\n</html>\n";

?>

 

Domain immer über HTTPS aufrufen

Bei der Bestellung eines SSL-Zertifikats muss man sich entscheiden auf welche Domain oder Subdomain man es bestellen will.
Für viele Leute gehört das „www.“ zwingend zu der Domain dazu, obwohl es eigentlich nur eine Subdomain ist.

Nehmen wir an, wir haben eine Domain „meinedomain.de“ auf die das SSL-Zertifikat eingerichtet ist.
Der gültige Aufruf per HTTPS sähe so aus: https://meinedomain.de
Würde jemand im Browser nur meinedomain.de oder www.meinedomain.de aufrufen, oder auch über den Link einer Suchmaschine die Seite aufrufen, würde die Seite unverschlüsselt aufgerufen werden.

Über eine .htaccess mit Rewrite Rules kann man den Besucher direkt auf die Variante mit Verschlüsselung führen.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^meinedomain.de$ [NC]
RewriteRule ^(.*)$ https://meinedomain.de/$1 [R=301,L]

Würde jemand gezielt https://www.meinedomain.de aufrufen, bekäme er von seinem Browser natürlich dennoch eine Sicherheitswarnung durch den Browser. Erst wenn er die Seite dennoch aufrufen würde, hätte der Redirect eine Chance zu greifen.

Der umgekehrte Weg (das SSL-Zertifikat wurde auf www.meinedomain.de bestellt) sähe so aus:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.meinedomain.de$ [NC]
RewriteRule ^(.*)$ https://www.meinedomain.de/$1 [R=301,L]

Backups per Cronjob

Wer in seinem 1&1 Webhosting-Vertrag SSH-Zugang hat, kann Cronjobs anlegen. Darüber lassen sich z.B. zeitgesteuerte Sicherungen anlegen von Webspace und MySQL-Datenbank.

Dazu werden die Sicherungen als Archiv gepackt und mit einem Dateinamen versehen der das Datum enthält.
Eine Sicherung vom 31.12.2012 würde z.B. dann backup2012_12_31.sql.gz heissen.

Beispiel für ein Skript (mysqlbackup.sh), die Dateirechte sollten auf 744 stehen:

#!/usr/bin/perl

########### Konfiguration ###########
#Pfad in den das endgültige Backup abgelegt werden soll
$PATH = „/homepages/5/d1234567/htdocs/backup/“;

#Host/Servername der MySQL
$HOST = „db1976.1und1.de“;

#Passwort der MySQL
$PASS = „geheim“;

#Benutzername der MySQL
$USER = „dbo1234567“;

#Datenbankname
$DB = „db1234567“;

#Dateiname der erstellten Sicherung. Dieser wird durch Datum und .sql.gz ergänzt
#aus mysqlbackup wird z.B. mysqlbackup2012_12_31.sql.gz
$BACKUPNAME = „mysqlbackup“;
#Temporärer Pfad in dem der Dump erstellt wird bevor er dann gepackt und umbenannt/verschoben wird
$TEMPPATH = „/homepages/5/d210846470/htdocs/“;

########### ######## ###########

#Dump der MySQL erstellen und erstmal als dump.sql ins htdocs legen
system(„/usr/bin/mysqldump –host=“.$HOST.“ –password=“.$PASS.“ –user=“.$USER.“ „.$DB.“ > „.$TEMPPATH.“dump.sql“);

#Datum ermitteln
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime time;
#Datum formatieren
$DATE = (1900 + $year).“_“.($mon + 1).“_“.$mday;

#Dump packen
system(„gzip „.$TEMPPATH.“dump.sql“);

#gepackten Dump verschieben/umbenennen
system(„mv „.$TEMPPATH.“dump.sql.gz „.$PATH.$BACKUPNAME.$DATE.“.sql.gz“)

Ähnliches kann man auch mit einem Verzeichnis auf dem Webspace machen. Im Prinzip wird nur der enstrechende Ordner als Archiv in den Backup-Ordner gelegt.
Eine Sicherung vom 31.12.2012 würde in dem Beispiel dann wordpressblog_2012_12_31.tar heissen.

Beispiel für ein Skript (webspacebackup.sh), die Dateirechte sollten auf 744 stehen:

#!/usr/bin/perl

#Pfad des ordners der gesichert werden soll
$WEBSITEPATH = „/homepages/5/d1234567/htdocs/wordpress/“;

#Pfad in den das endgültige Backup abgelegt werden soll
$BACKUPPATH = „/homepages/5/d1234567/htdocs/backup/“;

#Name der Backupdatei, Datum und .tar werden zugefügt später
$BACKUPNAME = „wordpressblog_“;

#Aktuelles Datum bestimmen und formatieren
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime time;
$DATE = (1900 + $year).“_“.($mon + 1).“_“.$mday;

#Dateien packen
system („tar -cvvf „.$BACKUPPATH.$BACKUPNAME.$DATE.“.tar „.$WEBSITEPATH);

Die Sicherung der Datenbank wird in dem Fall immer Montags um 10:30 veranlasst, die für das Verzeichnis um 11:30. Die Skripte für die Sicherungen liegen dabei in einem eigenen Verzeichnis.
Der dritte Cronjob löscht im Verzeichnis, in dem die Sicherungen liegen, alle Dateien die älter als 30 Tage sind, damit der Webspace nicht total voll läuft. Das Skript sollte nicht in dem Verzeichnis der Sicherungen liegen, da es sich ansonsten nach 30 Tagen selbst löschen würde.
Das MAILTO bewirkt dass eine E-Mail bei Ausführung eines Cronjobs versendet wird. Dies ist auch zum debuggen von Cronjobs interessant.
Das „2>&1“ ist eine Umleitung der Ausgabe. Es gibt STDIN, STDOUT, and STDERR die nummeriert sind mit 0, 1 und 2. Falls es Fehler gibt, landen diese Informationen in der Mail die versendet wird.


MAILTO='[email protected]'
30 10 * * 5 /homepages/5/d1234567/htdocs/cron/mysqlbackup.sh 2>&1
30 11 * * 5 /homepages/5/d1234567/htdocs/cron/webspacebackup.sh 2>&1
50 11 * * 5 find /homepages/5/d1234567/htdocs/backup/ -mtime +30 -exec rm {} \;

Nur eine php.ini dank Symlinks

Update: Mit den PHP-Versionen 5.4 und höher gibt es einen einfacheren und eleganteren Weg. Dieser lässt sich aber auch nicht immer einsetzen. Für Zend, ionCube oder OpCache ist z.B. eine php.ini notwendig

Die php.ini wirkt immer nur auf das Verzeichnis, in dem sie sich befindert (anders als die .htaccess).

Falls man Shell-Zugang (SSH) hat und sichergehen will, dass der Verweis in jedem Unterverzeichnis ist, kann man sich mit folgendem Befehl Symlinks erstellen lassen. Änderungen an der Datei werden dadurch auch in allen(!) Verzeichnissen aktiv, da der Symlink nur ein Verweis auf die Datei ist.

find -type d -exec ln -sv /homepages/24/d1234567/htdocs/php.ini {}/php.ini \;

Der Pfad („/homepages/24/d1234567/htdocs/„) muss natürlich angepasst werden.

Die Symlinks können mit folgendem Befehl entfernt werden:
find -name "php.ini" -links 1 -exec rm -i {} \;
Dieser fragt für jeden Eintrag nach, ob er entfernt werden soll. Will man das nicht, lässt man den -i Parameter weg.
Achtung! Der Befehl beschränkt sich nicht auf Symlinks sondern entfernt ggf. auch die originale php.ini also Vorsicht hier.

GZIP-Kompression aktivieren

Wer bei 1&1 im Shared Webosting (Linux) die GZIP-Kompression für seine Website anstellen will, kann dies über eine eigene php.ini machen. Dies ist eine simple Textdatei, die einfach nur php.ini heissen muss.

Anders als eine .htaccess wirkt die php.ini immer nur auf das Verzeichnis, in dem sie liegt. Gerade wenn die Skripte auf mehrere Verzeichnisse verstreut sind, muss die Datei auch in mehren Verzeichnissen liegen.

Folgende Zeile fügt man in der php.ini dafür ein:
zlib.output_compression = on

Ob es funktioniert hat, kann man auf diversen Seiten wir beim Gidnetwork testen.

Wie man über Symlinks nur eine php.ini nutzen kann, ist hier beschrieben.

Serverseitige Filterregeln im Webmailer 2

Dieser beitrag bezieht sich auf den alten Webmailer 2. Der Beitrag zur aktuellen Version findet sich hier.

Wer seine E-Mails über einen lokalen E-Mail Client abruft hat mit dem Webmailer im Normalfall relativ wenig zu tun. Serverseitige Filterregeln können aber auch interessant sein, wenn man ihn nicht nutzt.

Serverseitige Filterrregeln werden (wie der Name schon sagt) bereits auf dem Server ausgeführt direkt wenn eine E-Mail im Postfach eintrifft. Damit haben diese Regeln automatisch auch Auswirkungen auf die lokalen E-Mail Programme oder das Smartphone.

Wenn man sich in den Webmailer einloggt findet man die Regeln unter „Einstellungen“ (das blaue Zahnrad-Symbol Oben). Danach klickt man im linken Baum auf „E-Mail“ und dann „Filter“.

Über „Neu“ lässt sich eine neue Regel einrichten. Der „Name“ ist dann die Bezeichnung der Regel, damit man selber weiss was man da überhaupt anlegen wollte.

Als erstes stehen nun die Bedingungen an. Hier ist es möglich mehrere Bedingungen zu erstellen und die Option „Für eine eingehende Nachricht auf die Folgendes zutrifft: “ bestimmt ob diese Bedingungen als „oder-Bedingungen“ (irgendeine) oder „und-Bedingungen“ (Alle) verknüpft werden.

Bei „irgendeine“ reicht es wenn nur eine einzige der Bedingungen zutrifft, dann werden die Aktionen der Regel bereits ausgefüllt. Bei „Alle“ müssen alle Bedingungen zutreffen damit dies geschieht.

Eine Bedingung ist immer bereits erstellt, der button „Bedingung“ hinzufügen erstellt eine weitere Bedingung.

In dem Beispiel auf dem Screenshot gibt es zwei Bedingungen die beide auch zutreffen müssen. Taucht irgendwo im Betreff der E-Mail das Wort „Facebook“ auf und gleichzeitig beim Absender „facebookmail.com“ dann werden die Aktionen der Regel ausgeführt.

Die Aktionen sind die Handlungen die mit der E-Mail durchgeführt werden, wenn die Bedingungen zutreffen. Im Beispiel wird diese E-Mail dann sofort in den Unterordner „Spam“ verschoben. Auch hier ist eine Aktion immer schon da und weitere können über „Aktion hinzufügen“ erstellt werden.

Als letztes gibt es noch die Option „Gegen nachfolgende Regeln prüfen, auch wenn diese Regel zutrifft“.Die Regeln werden serverseitig eine nach der anderen ausgeführt. Unter „Mailfilter“ sind alle Regeln aufgelistet und die aktiven mit gesetztem Haken werden von Oben nach Unten abgearbeitet. Wäre nun unterhalb der Facebook Regel die eigentlich alle Facebook-E-Mails in den Ordner Spam verschiebt noch eine Regel die besagt dass die E-Mail behalten werden soll sobald im Betreff das Wort „Patricia“ auftaucht. Eine E-Mail „Patricia hat an deine Pinnwand gepostet“ von Facebook würde demnach dann nicht verschoben werden, aber nur wenn diese Option eben gesetzt ist. Ansonsten würden nachfolgende Regeln für diese E-Mail nicht mehr beachtet werden.

Mit den Regeln kann man sich aber auch Probleme schaffen. Ich kann nur von der Aktion „Verwerfen“ abraten. E-Mails die über diesen Weg gelöscht werden können auch nicht von 1&1 über ein Backup zurück geholt werden.

Folgende Regel wäre ein Paradebeispiel für das Problem „Ich bekomme keine E-Mails mehr“:

 

 

 

Die Bedingungen sind hier über „irgendeine“ verknüpft. Es reicht also wenn eine der beiden Bedingungen stimmt. Die zweite Bedingung lautet aber „Alle Nachrichten“, was die Standardeinstellung beim hinzufügen einer neuen Bedingung ist. Und diese trifft immer zu. Die Nachfolgende Aktion wird also auch immer ausgeführt.

Und hier wurde nun „Verwerfen“ genommen. Die E-Mail wird umgehend entfernt und taucht im Postfach nicht auf. Es kommen augenscheinlich keine E-Mails mehr an.