Obwohl es sich von außen betrachtet nur um eine Funktionalität handelt, sind trotzdem mehrere Dienste notwendig, um diese auch herzustellen. In unserem speziellen Fall ist es [[w:de:Postfix (Mail Transfer Agent)|Postfix]] als [[w:de:Mail Transfer Agent|MTA]] und [[w:de:Dovecot|Dovecot]] als [[w:de:Mail Delivery Agent|MDA]].
In dem Ordner <code>/root/wetuscripts/mail/bin</code> (oder im [https://git.c3d2.de/cgit.cgi/wetuscripts/tree/mail/bin/ git]) liegt die Datei <code>create_vmail_user</code>. Wenn man sie ausführt, hilft sie selbsterklärend dabei einen virtuellen Account anzulegen. Da der Ordner <code>/root/wetuscripts/mail/bin</code> in <code>export PATH</code> steht kann <source lang="bash">create_vmail_user</source> auch einfach ausgeführt werden, ohne den langen Pfad zu kennen.
=== Passwort zum Mail-Account ändern ===
Accounts mit einer Mail-Adressen können das Passwort per <code>ssh user@mail.c3d2.de</code> ändern.
Konfigurationsdateien für Postfix liegen in <code>/etc/postfix/</code>. Grundsätzlich können alle Konfigurationparameter in der [http://www.postfix.org/postconf.5.html Dokumentation von Postfix] nachgelesen werden. Nachfolgend soll nur auf Besonderheiten in unserer Konfiguration eingegangen werden.
* Um für [[Wetu/Mailman|Mailman]] Funktionalität herzustellen, muss im Eintrag <code>relay_recipient_maps</code> <code>hash:/var/lib/mailman/data/virtual-mailman</code> eingetragen werden.
* Um Bots, Spammern und Ähnlichen das Leben schwer zu machen, werden die folgenden Optionen verwendet:
<pre>
smtpd_error_sleep_time = 20
smtpd_soft_error_limit = 1
smtpd_hard_error_limit = 3
smtpd_junk_command_limit = 2
</pre>
* Da der c3d2 ein Netzwerk aus Rechnern betriebt, ist das auch hier zu berücksichtigen. Dazu setze man <code>mynetworks_style = subnet</code>. In <code>mynetwork</code> sind dann alle vom mailserver zu verwaltenden Netze einzutragen, welches momentan <code>127.0.0.0/8 89.238.79.216/29 89.238.64.140/32 172.22.98.0/24 [::1]/128 [fe80::]/10 [2a00:1828:2000:655::]/64 [2a00:1828:a008::]/48</code> sind.
### From MTA(smtp:[127.0.0.1]:10025) during fwd-rundown-1 (Negative SMTP response to RSET: 530 5.7.0 Must issue a STARTTLS command first at
### Blocked MTA-BLOCKED {RejectedInbound} proxy-reject: END-OF-MESSAGE: 530 5.7.0 - Rejected by next-hop MTA on relaying, from MTA(smtp:[127.0.0.1]:10025): 530 5.7.0 Must issue a STARTTLS command first
In der virtual sind alle Weiterleitungen / Aliase konfiguriert. Wenn diese geändert wird, muss anschließend <source lang="bash">postmap /etc/postfix/virtual</source> ausgeführt werden.