Roundcube: Ausgehende IP festlegen

Wer mittels Roundcube Mails direkt an einen entfernten (nicht lokalen) Mailserver sendet, möchte unter Umständen die ausgehende IP festlegen, um beispielsweise sicherzustellen, dass der Reverse-DNS-Eintrag korrekt ist. Direkt in Roundcube gibt es dafür keine Einstellung, aber über die Stream-Kontext-Optionen von PHP kann man das festlegen. weiterlesen

Postfix: message_size_limit pro Domain

Postfix bietet per default nur eine globale Einstellung zur Limitierung der Größe von Nachrichten. Manchmal braucht man das aber etwas granularer. Um das zu realisieren kann man „Policy-Delegation“ nutzen, wodurch Postfix Entscheidungen an einen externen Policy-Server weiterreichen kann. Siehe auch.

Um die Anforderung „message_size_limit pro Domain“ umzusetzen braucht es nicht viel – ein paar Zeilen Perl reichen:

#!/usr/bin/env perl # # Ein simpler Policy-Server für Postfix, der message_size_limit pro Domain # implementiert. use strict; # Hier ist die Definition der Domains mit Limit (in Bytes) my %hashConfig = ( "marco-pc-debian.localdomain" => 75, "example.org" => 1024, ); my $action; my %attr = (); while( <STDIN> ) { if( /([^=]+)=(.*)\n/ ) { $attr{$1} = $2; } elsif( $_ eq "\n" ) { $action = "action=OK"; foreach my $domain (keys%hashConfig) { if( $attr{'recipient'} =~ /${domain}$/ ) { if( $attr{'size'} > $hashConfig{$domain} ) { $action = "action=534 message size for this domain is limited to ".$hashConfig{$domain}; } last; } } print $action."\n\n"; exit( 0 ); } } weiterlesen

Cleveres Webmail: Rainloop

Freie Webmail Software gibt es einige: Squirrelmail und Roundcube sind dabei die bekanntesten. Nachdem ich mehrere Jahre Roundcube genutzt habe, probiere ich gerade Rainloop aus.

Features

Grundsätzlich bietet Rainloop IMAP und SMTP Support jeweils einschließtlich SSL und STARTTLS. Außerdem gibt es ein Plugin-System, welches dem Nutzer erlaubt, die Software um sinnvolle Funktionen ergänzen. Eine Liste von Features gibt es hier. Am liebsten sind mir aber die Tastenkürzel, die sowohl eine schnelle Navigation durch die Nachrichten als auch einige Aktionen, wie beispielsweise das Verschieben von Mails in einen anderen Ordner erleichtern. Für Maus-Muffel, wie ich als Linux-Admin einer bin, ist das wie geschaffen. weiterlesen

Mailserver: Einrichten von Usern, virtuellen Usern, Domains etc.

Seit einiger Zeit betreibe ich auf meinem Server einen Mailserver. Einfach gesagt, im Hintergrund aber etwas komplizierter: ein Mailserver ist eine Kombination aus einem Mail-Transfer-Agent (MTA, bei mir Postfix), einem Mail-Delivery-Agent (MDA, bei mir Dovecot) und einem Mail-User-Agent (MUA, bei mir Roundcube). Die genaue Funktionsweise kann man bei bedarf googeln.

Standardmäßig hat ein Server eine Domain und User (Unix-User). Wenn alles richtig konfiguriert ist, können sich die „normalen“ Unix-User am MUA anmelden und sehen ihre Emails. In den seltensten Fällen ist das so einfach gewünscht. Denn als Serveradministrator hat man normalerweise ein oder mehrere Userkonten, möchte aber auch die Mails, die an root, postmaster, hostmaster und webmaster haben. Dafür eignen sich Aliase.

Aliase

Aliase sind im Prinzip Weiterleitungen, die den Postfix veranlassen entsprechende Mails nicht dem User zuzuordnen, an den sie gerichtet sind, sondern dem in der Alias-Datei definierten User. Die Aliasdatei ist /etc/aliases.

Aufgebaut ist die Datei sehr einfach:

root: marco
postmaster: marco
hostmaster: marco
webmaster: marco

Es werden also alle Mails an die User root, postmaster, hostmaster und webmaster an mich (marco) weitergeleitet. Hat man etwas an dieser Datei geändert muss noch folgenden Befehl ausführen, damit die Änderungen ihre Wirkung zeigen:

$ sudo newaliases

(als root entfällt selbstverfreilich das sudo)

Hat man mehrere Domains, die auf den Server zeigen, möchte man ziemlich sicher auch auf mehreren Domains Emails erhalten und schreiben können. Das ist – mit den normalen Unix-Usern – auch recht einfach möglich.

Mehrere gemeinsam genutzte Domains, Unix-User

In dieser Konstellation hält sich der Konfigurationsaufwand auch sehr in Grenzen. Es wird einfach in der Datei /etc/postfix/main.cf folgende Direktive geändert:

mydestination = $myhostname localhost.$mydomain example.com [weitere Domains]

Am besten einfach mit Leerzeichen getrennt die weiteren Domains hinten ranhängen.

Das funktioniert prima, solange man allein ist und es völlig Wurst ist, an welchen User welcher Domain jemand eine Email versendet, weil man sowieso alle selbst liest und beantwortet. Schwieriger ist es, wenn man mehrere User hat, die alle eine andere Domain zugeteilt bekommen sollen.

Mehrere getrennte Domains, Unix-User

Diese Konstellation wird im realen Umfeld nicht oft vorkommen; es ist aber dennoch eine Möglichkeit der Konfiguration. Hintergrund ist, nicht jeden User auf jeder Domain Mails empfangen zu lassen. Diese Lösung sieht so aus:

/etc/postfix/main.cf: virtual_alias_domains = example.org [weitere Domains] virtual_alias_maps = hash:/etc/postfix/virtual weiterlesen