TODO dringend überarbeiten! ====== Allgemein ====== FreeBSD wird mit dem MTA **sendmail** ausgeliefert. Dieser ist, so mächtig er auch sein mag, nicht jedermanns Sache. Die Konfiguration von **sendmail** ist recht umfangreich und kompliziert. Ein moderner MTA ist **postfix**. Nachfolgend soll **postfix** installiert und konfiguriert werden, so dass er **sendmail** gänzlich ersetzt. ====== Voraussetzung ====== Ein aktueller Port-Tree und **root**-Rechte sind Voraussetzung für die Installation von **postfix**. Zudem sollten die SMTP-Daten eines Mailservers zur Verfügung stehen um mit **postfix** E-Mails ins Internet senden zu können. ====== Installation ====== # cd /usr/ports/mail/postfix # make install clean ===== Optionen ===== Als Optionen werden folgende Punkte angewählt: [X] PCRE Perl Compatible Regular Expressions [X] SASL2 Cyrus SASLv2 (Simple Auth. and Sec. Layer) [ ] DOVECOT Dovecot SASL authentication method [ ] SASLKRB If your SASL req. Kerberos select this option [ ] SASLKRB5 If your SASL req. Kerberos5 select this option [ ] SASLKMIT If your SASL req. MIT Kerberos5 select this option [X] TLS Enable SSL and TLS support [ ] BDB Berkeley DB (choose version with WITH_BDB_VER) [ ] MYSQL MySQL maps (choose version with WITH_MYSQL_VER) [ ] PGSQL PostgreSQL maps (choose with DEFAULT_PGSQL_VER) [ ] OPENLDAP OpenLDAP maps (choose ver. with WITH_OPENLDAP_VER) [ ] CDB CDB maps lookups [ ] NIS NIS maps lookups [ ] VDA VDA (Virtual Delivery Agent 32Bit) [ ] TEST SMTP/LMTP test server and generator Auf die Frage You need user "postfix" added to group "mail". Would you like me to add it [y]? wird mit **y** geantwortet und Would you like to activate Postfix in /etc/mail/mailer.conf [n]? wird auch mit **y** bestätigt. ====== Postfix konfigurieren ====== Die Datei **/usr/local/etc/postfix/main.cf** enthält die Konfiguration von **postfix**. Die folgenden Zeilen werden in hier ergänzt, bzw angepasst. relayhost = smtp.1und1.de smtp_sasl_auth_enable = YES smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/usr/local/etc/postfix/saslpasswd smtp_generic_maps = hash:/usr/local/etc/postfix/generic_map Die Datei **/usr/local/etc/postfix/saslpasswd** wird mit folgendem Inhalt (Beispiel eines 1und1-Zugangs) angelegt. BENUTZERNAME und PASSWORT sind die Logindaten zum entsprechenden SMTP-Server. smtp.1und1.de BENUTZERNAME:PASSWORT Anschliessend wird als **root** folgender Befehl abgesetzt um die Passwortdatenbank für SASL zu generieren. # postmap /usr/local/etc/postfix/saslpasswd Da das Passwort hier lesbar in der Datei steht sollten die Rechte entsprechend restriktiv sein. Mit folgendem Befehlt werden allen anderen Benutzern außer **root** die Leserechte entzogen: # chmod 600 /usr/local/etc/postfix/saslpasswd Als nächstes wird die Alias-Datenbank neu angelegt und an die für **postfix** richtige Stelle verlinkt. # postalias /etc/mail/aliases # ln -s /etc/mail/aliases.db /etc/aliases.db # newaliases Die Datei **/usr/local/etc/postfix/generic_map** wird angelegt und mit folgendem Inhalt gefüllt: lokaler_benutzername@deine.locale.domain deinName@Maildomain.de Damit wird dem SMTP-Server mitgeteilt wer der eigentliche Absender sein soll. Sollen auch die Mails von **root** an eine Mailadresse gesendet werden so ist hier auch ein Eintrag vorzunehmen. //**Hinweis:** Wenn alle ausgehenden Mails mit einem einzigen bestimmten Useraccount des SMTP-Servers verschickt werden sollen ist folgende Vereinfachung möglich// @deine.locale.domain deinName@Maildomain.de Hiermit werden alle Mails mit der Absendeadresse **deinName@Maildomain.de** versendet. Anschließend wird eine Datenbankdatei daraus erzeugt mit # postmap /usr/local/etc/postfix/generic_map ====== Postfix starten ====== Damit **postfix** beim nächsten Start geladen wird und **sendmail** nicht weiter für den Mailverkehr genutzt wird muss die **/etc/rc.conf** um folgende Zeilen erweitert werden: # Postfix statt Sendmail postfix_enable="YES" sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" ====== Sendmail Wartung deaktivieren ====== Anschliessend wird die Datei /etc/periodic.conf erzeugt und folgende Zeilen in selbige eingefügt um keine Wartungsarbeiten mehr an **sendmail** vorzunehmen. daily_clean_hoststat_enable="NO" daily_status_mail_rejects_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO"