Einführung
Auf Ubuntu 20.04, können Sie Tools wie Postfix, Dovecot, MySQL und SpamAssassin verwenden, um einen Mailserver zu konfigurieren. Der Prozess kann für jemanden, der es zum ersten Mal versucht, verwirrend sein. Dieses Tutorial soll den Konfigurationsprozess des Mailservers für Sie mit detaillierten Schritten vereinfachen. Am Ende dieses Tutorials werden Sie wissen, wie Sie virtuelle Domains, Benutzer und Aliase hinzufügen. Letztendlich werden Sie Ihren virtuellen Server sicherer vor Spam-Hubs machen.
Voraussetzungen
Bevor Sie mit der Konfiguration des Mailservers beginnen, müssen einige Voraussetzungen erfüllt sein. Stellen Sie zunächst sicher, dass Ihr virtueller privater Server über eine Domain verfügt, die auf Ihren Server weiterleitet. Sie müssen außerdem MySQL installieren und konfigurieren. Darüber hinaus müssen Sie über einen Benutzer mit Root-Rechten verfügen und ein SSL-Zertifikat installieren. Stellen Sie schließlich sicher, dass Ihr FQDN konfiguriert und identifiziert ist.
Wenn Sie Ihre Pakete als Root-Benutzer installieren, haben Sie alle Rechte. Deshalb empfehlen wir es:
|
1 |
sudo -i |
Geben Sie das Passwort Ihres Benutzers ein. An dieser Stelle sehen Sie, dass sich das Symbol $ zu # ändert. Als Nächstes wollen wir die verschiedenen Aspekte der Konfiguration nacheinander untersuchen.
Schritt 1: Installieren von Paketen
Wir beginnen damit, zu lernen, wie man Pakete installiert:
|
1 |
apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql |
Wenn die Postfix-Konfiguration angezeigt wird, wählen Sie Internet-Site:

Sie werden nach dem System-E-Mail-Namen gefragt. Hier können Sie den FQDN oder die Hauptdomain verwenden:

Schritt 2: Erstellen einer MySQL-Datenbank, virtueller Domains, Benutzer und Aliase
Als Nächstes, sobald alle Pakete installiert sind, fahren wir mit der Konfiguration fort. Unser Ziel ist es, drei Tabellen zu konfigurieren. Eine wird für Domains sein, eine für Benutzer und eine für Aliase. Diese werden in einer MySQL-Datenbank untergebracht, die wir erstellen werden.
Nehmen wir an, wir wollen unsere Datenbank servermail nennen. Es steht Ihnen frei, den Namen Ihrer Wahl zu verwenden. So erstellen wir sie:
|
1 |
mysqladmin -p create servermail |
Sie müssen sich als MySQL-Root-Benutzer anmelden:
|
1 |
mysql -u root -p |
Geben Sie dann Ihr Passwort ein. Ein erfolgreicher Versuch zeigt dieses Ergebnis:
|
1 |
mysql > |
Als Nächstes erstellen wir einen neuen Benutzer speziell für die Mail-Authentifizierung. Vergeben Sie die SELECT-Berechtigung wie folgt:
|
1 |
mysql > GRANT SELECT ON servermail.* TO 'usermail'@'127.0.0.1' IDENTIFIED BY 'mailpassword'; |
Laden Sie danach Ihre MySQL-Berechtigungen neu, um die Berechtigungen erfolgreich anzuwenden:
|
1 |
mysql > FLUSH PRIVILEGES; |
Als Nächstes werden wir unsere Datenbank verwenden, um die Tabellen zu erstellen und die Daten einzugeben:
|
1 |
mysql> USE servermail; |
Wir werden einzelne Tabellen für die spezifischen Domains erstellen, die als autorisierte Domains anerkannt sind:
|
1 2 3 4 5 |
CREATE TABLE `virtual_domains` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Das Ziel ist es, Benutzer in die Tabelle einzufügen. Daher werden wir die entsprechende E-Mail-Adresse und das Passwort hinzufügen. Denken Sie daran, dass Sie jeden Benutzer einer Domain zuordnen müssen:
|
1 2 3 4 5 6 7 8 9 |
CREATE TABLE `virtual_users` ( `id` INT NOT NULL AUTO_INCREMENT, `domain_id` INT NOT NULL, `password` VARCHAR(106) NOT NULL, `email` VARCHAR(120) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`), FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Als Nächstes erstellen wir eine Tabelle für alle unsere virtuellen Aliase, um alle E-Mails anzugeben, die wir an die andere E-Mail-Adresse weiterleiten:
|
1 2 3 4 5 6 7 8 |
CREATE TABLE `virtual_aliases` ( `id` INT NOT NULL AUTO_INCREMENT, `domain_id` INT NOT NULL, `source` varchar(100) NOT NULL, `destination` varchar(100) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Am Ende dieses Prozesses haben Sie erfolgreich drei Tabellen erstellt. Als Nächstes müssen wir die Daten eingeben.
-
Virtuelle Domains
In diesem Abschnitt lernen wir, wie man Domains in der
virtual_domains Tabelle einträgt. Insbesondere werden wir uns darauf konzentrieren, wie die primäre Domain (example.com) und der FQDN (hostname.example.com):
|
1 2 3 4 5 |
INSERT INTO `servermail`.`virtual_domains` (`id` ,`name`) VALUES ('1', 'example.com'), ('2', 'hostname.example.com'); |
-
Virtuelle E-Mails
Geben Sie als Nächstes die E-Mail-Adresse und die zugehörigen Passwörter für jede der Domains ein. Stellen Sie sicher, dass alle Informationen durch Ihre spezifischen Daten ersetzt werden:
|
1 2 3 4 5 |
INSERT INTO `servermail`.`virtual_users` (`id`, `domain_id`, `password` , `email`) VALUES ('1', '1', ENCRYPT('firstpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email1@example.com'), ('2', '1', ENCRYPT('secondpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email2@example.com'); |
-
Virtuelle Aliase
Jetzt können Sie die E-Mail-Adresse eingeben, an die Sie die andere E-Mail-Adresse weiterleiten möchten. Die erstere ist die Quelle, während die letztere das Ziel ist:
|
1 2 3 4 |
INSERT INTO `servermail`.`virtual_aliases` (`id`, `domain_id`, `source`, `destination`) VALUES ('1', '1', 'alias@example.com', 'email1@example.com'); |
Anschließend können Sie MySQL beenden:
|
1 |
mysql > exit |
Schritt 3: Konfigurieren von Postfix
Es ist wichtig, Postfix so zu konfigurieren, dass es die SMTP-Verbindungen verwalten kann. Es muss auch in der Lage sein, die Nachrichten für alle in der MySQL-Datenbank eingetragenen Benutzer zu senden. Erstellen wir zunächst eine Kopie der Standarddatei. So können Sie bei Bedarf problemlos zur Standardkonfiguration zurückkehren:
|
1 |
cp /etc/postfix/main.cf /etc/postfix/main.cf.orig |
Öffnen Sie nun die main.cf-Datei, um sie zu bearbeiten:
|
1 |
nano /etc/postfix/main.cf |
Kommentieren Sie zunächst die TLS-Parameter aus und hängen Sie dann alle anderen Parameter an. In unserem Beispiel verwenden wir die kostenlosen SSL-Zertifikate. Sie können die Konfiguration natürlich an Ihre Anforderungen anpassen:
|
1 2 3 4 5 6 7 8 9 10 11 |
# TLS parameters #smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #smtpd_use_tls=yes #smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache #smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_tls_cert_file=/etc/ssl/certs/dovecot.pem smtpd_tls_key_file=/etc/ssl/private/dovecot.pem smtpd_use_tls=yes smtpd_tls_auth_only = yes |
Als Nächstes hängen Sie diese Parameter unter den TLS-Einstellungen an:
|
1 2 3 4 5 6 7 |
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination |
Danach müssen wir die mydestination Standardeinstellungen auskommentieren. Dann ersetzen wir sie durch localhost. Mit dieser Änderung kann der VPS die virtuellen Domains in der MySQL-Tabelle verwenden:
|
1 2 |
#mydestination = example.com, hostname.example.com, localhost.example.com, localhost mydestination = localhost |
Verwenden Sie nun diesen Befehl, um zu überprüfen, ob der Parameter myhostname in Ihrem FQDN gesetzt ist:
|
1 |
myhostname = hostname.example.com |
Fügen Sie außerdem diese Zeile hinzu, um die lokale E-Mail-Zustellung für alle in der Tabelle aufgeführten virtuellen Domains zu aktivieren:
|
1 |
virtual_transport = lmtp:unix:private/dovecot-lmtp |
Schließlich fügen wir die folgenden Parameter hinzu, um Postfix anzuweisen, die virtuellen Domains, Benutzer und Aliase zu konfigurieren:
|
1 2 3 |
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf |
Um sicherzustellen, dass keine Fehler vorliegen, vergleichen Sie diese Änderungen mit der folgenden Datei:
https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt
Sobald das alles überprüft ist, erstellen Sie drei Dateien, die Sie an die Datei main.cf anhängen. Das Ziel hierbei ist es, Postfix Anweisungen zur Verbindung mit MySQL zu geben. Dazu erstellen wir zunächst die Datei mysql-virtual-mailbox-domains.cf file. Natürlich nehmen Sie in Ihrer Datei Änderungen entsprechend Ihrer persönlichen Konfiguration vor:
|
1 |
nano /etc/postfix/mysql-virtual-mailbox-domains.cf |
|
1 2 3 4 5 |
user = usermail password = mailpassword hosts = 127.0.0.1 dbname = servermail query = SELECT 1 FROM virtual_domains WHERE name='%s' |
Starten Sie Postfix als Nächstes neu:
|
1 |
service postfix restart |
Sie müssen sicherstellen, dass Postfix Ihre Domain finden kann. Verwenden Sie diesen Befehl, um dies zu testen:
|
1 |
postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf |
Der Befehl gibt bei Erfolg 1 zurück. In diesem Fall können Sie fortfahren, indem Sie die Datei mysql-virtual-mailbox-maps.cf erstellen:
|
1 |
nano /etc/postfix/mysql-virtual-mailbox-maps.cf |
|
1 2 3 4 5 |
user = usermail password = mailpassword hosts = 127.0.0.1 dbname = servermail query = SELECT 1 FROM virtual_users WHERE email='%s' |
Starten Sie Postfix noch einmal neu:
|
1 |
service postfix restart |
Wir stellen erneut sicher, dass Postfix die erste E-Mail-Adresse finden kann. Verwenden Sie den folgenden Befehl, um dies zu testen:
|
1 |
postmap -q email1@example.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf |
Wenn dies erfolgreich ist, erhalten Sie als Ausgabe eine 1. Daher fahren wir mit der Erstellung der letzten Datei fort:
|
1 |
nano /etc/postfix/mysql-virtual-alias-maps.cf |
|
1 2 3 4 5 |
user = usermail password = mailpassword hosts = 127.0.0.1 dbname = servermail query = SELECT destination FROM virtual_aliases WHERE source='%s' |
Damit ist die Konfiguration zwischen Postfix und MySQL abgeschlossen. Starten Sie Postfix neu, um die Änderungen anzuwenden:
|
1 |
service postfix restart |
Um zu bestätigen, dass Postfix Ihre Aliase tatsächlich findet, verwenden Sie diesen Befehl:
|
1 |
postmap -q alias@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cf |
Idealerweise sollten Sie die an den Alias weitergeleitete E-Mail als Ausgabe erhalten. Sie können auch die /etc/postfix/master.cf-Datei wie folgt ändern, wenn Sie Port 587 sicher mit E-Mail-Clients verbinden möchten:
|
1 |
nano /etc/postfix/master.cf |
So heben Sie die Auskommentierung bestimmter Zeilen auf und hängen Parameter an:
|
1 2 3 4 5 |
submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject |
Manchmal müssen Sie Postfix neu starten, um zu bestätigen, dass der Port geöffnet ist:
|
1 |
service postfix restart |
Dieses Tool kann auch zum Scannen der Domain-Ports verwendet werden. Sie können damit überprüfen, ob die Ports 25 und 587 geöffnet sind.
Schritt 4: Dovecot konfigurieren
Jetzt ist es an der Zeit, Dovecot zu konfigurieren. Für diesen Abschnitt müssen wir die 7 Dateien kopieren, die Sie ändern möchten. Dies stellt sicher, dass Sie bei Bedarf den vorherigen Zustand wiederherstellen können. Geben Sie diese Befehle nacheinander ein:
|
1 2 3 4 5 6 |
cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig cp /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.orig cp /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.orig cp /etc/dovecot/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext.orig cp /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.orig cp /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.orig |
Sie müssen die Konfigurationsdatei von Dovecot bearbeiten:
|
1 |
nano /etc/dovecot/dovecot.conf |
Stellen Sie sicher, dass die Option einkommentiert ist:
|
1 |
!include conf.d/*.conf |
Als Nächstes aktivieren wir Protokolle unter der
!include_try /usr/share/dovecot/protocols.d/*.protocol -Zeile. Wenn Sie möchten, können Sie auch pop3:
|
1 2 |
!include_try /usr/share/dovecot/protocols.d/*.protocol protocols = imap lmtp |
Um Fehler auszuschließen, vergleichen Sie sie mit dieser Datei:
https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt
Bearbeiten Sie als Nächstes die Mail-Konfigurationsdatei:
|
1 |
nano /etc/dovecot/conf.d/10-mail.conf |
Suchen Sie die Zeile mail_location -Zeile. Sie müssen die Auskommentierung aufheben und diesen Parameter hinzufügen:
|
1 |
mail_location = maildir:/var/mail/vhosts/%d/%n |
Suchen Sie danach die Zeile mail_privileged_group -Zeile. Heben Sie auch hier die Auskommentierung auf und fügen Sie den Mail-Parameter hinzu:
|
1 |
mail_privileged_group = mail |
Um jegliche Fehlerquelle auszuschließen, vergleichen Sie sie mit dieser Datei:
https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt
-
Berechtigungen überprüfen
Um die Berechtigungen zu überprüfen, verwenden Sie diesen Befehl:
|
1 |
ls -ld /var/mail |
Stellen Sie sicher, dass Ihre Berechtigungen wie folgt angezeigt werden:
|
1 |
drwxrwsr-x 3 root vmail 4096 Jan 24 21:23 /var/mail |
Sie können für jede Domain einen Ordner erstellen. Alle diese Ordner werden in der MySQL-Tabelle registriert:
|
1 |
mkdir -p /var/mail/vhosts/example.com |
Erstellen Sie einen vmail-Benutzer und eine vmail-Gruppe mit einer ID von 5000:
|
1 2 |
groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d /var/mail |
Als Nächstes müssen Sie den Besitzer des /var/mail -Ordners auf den Benutzer vmail ändern:
|
1 |
chown -R vmail:vmail /var/mail |
Bearbeiten Sie nun die /etc/dovecot/conf.d/10-auth.conf -Datei:
|
1 |
nano /etc/dovecot/conf.d/10-auth.conf |
Fügen Sie die folgende Zeile hinzu, nachdem Sie die Klartext-Authentifizierung einkommentiert haben:
|
1 |
disable_plaintext_auth = yes |
Verwenden Sie dies, um den Parameter auth_mechanisms zu ändern:
|
1 |
auth_mechanisms = plain login |
Kommentieren Sie nun diese Zeile aus:
|
1 |
#!include auth-system.conf.ext |
Um die MySQL-Autorisierung zu aktivieren, müssen Sie die folgende Zeile einkommentieren:
|
1 |
!include auth-sql.conf.ext |
Um Fehler zu erkennen und zu bearbeiten, verwenden Sie die folgende Datei:
https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt
Das Erstellen einer /etc/dovecot/dovecot-sql.conf.ext -Datei mit Ihren Informationen ermöglicht Ihnen die Authentifizierung:
|
1 |
nano /etc/dovecot/conf.d/auth-sql.conf.ext |
Geben Sie diesen Code in die Datei ein:
|
1 2 3 4 5 6 7 8 9 |
passdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext } userdb { driver = static args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n } |
Wir werden unsere benutzerdefinierten MySQL-Informationen verwenden, um die /etc/dovecot/dovecot-sql.conf.ext -Datei zu ändern:
|
1 |
nano /etc/dovecot/dovecot-sql.conf.ext |
Setzen Sie MySQL als Parameter, nachdem Sie den driver-Parameter wie folgt einkommentiert haben:
|
1 |
driver = mysql |
Sie können Ihre MySQL-spezifischen Informationen eingeben, indem Sie die connect -Zeile einkommentieren:
|
1 |
connect = host=127.0.0.1 dbname=servermail user=usermail password=mailpassword |
Jetzt müssen Sie die default_pass_scheme -Zeile einkommentieren und in SHA-512:
|
1 |
default_pass_scheme = SHA512-CRYPT |
Fügen Sie die folgenden Informationen hinzu, nachdem Sie password_query:
|
1 |
password_query = SELECT email as user, password FROM virtual_users WHERE email='%u'; |
Um Fehler zu erkennen, verwenden Sie diese Datei zum Vergleichen:
https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt
Als Nächstes können Sie den Besitzer und die Gruppe des dovecot-Ordners auf den Benutzer vmail ändern:
|
1 2 |
chown -R vmail:dovecot /etc/dovecot chmod -R o-rwx /etc/dovecot |
Der nächste Schritt besteht darin, die /etc/dovecot/conf.d/10-master.conf -Datei zu ändern. Sie müssen hier besonders vorsichtig sein, da verschiedene Parameter geändert werden:
|
1 |
nano /etc/dovecot/conf.d/10-master.conf |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
##inet_listener_imap einkommentieren und auf Port 0 ändern service imap-login { inet_listener imap { port = 0 } #LMTP-Socket und diese Konfigurationen erstellen service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } #inet_listener lmtp { # Vermeiden, dass LMTP für das gesamte Internet sichtbar ist #address = #port = #} } |
Verwenden Sie den folgenden Code, um den Parameter unix_listener zu ändern in service_auth:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } unix_listener auth-userdb { mode = 0600 user = vmail #group = } #unix_listener /var/spool/postfix/private/auth { # mode = 0666 #} user = dovecot } |
Als Nächstes müssen Sie service auth-worker wie folgt:
|
1 2 3 4 5 6 |
service auth-worker { # Der Auth-Worker-Prozess wird standardmäßig als Root ausgeführt, damit er auf # /etc/shadow zugreifen kann. Wenn dies nicht notwendig ist, sollte der Benutzer geändert werden in # $default_internal_user. user = vmail } |
Erkennen Sie Fehler, indem Sie sie mit dieser Datei vergleichen:
https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt
Der nächste Schritt besteht darin, die SSL-Konfigurationsdatei von Dovecot zu ändern. Wenn Sie die Standardkonfiguration verwenden möchten, können Sie diesen Schritt überspringen und mit dem nächsten Abschnitt fortfahren:
|
1 |
# nano /etc/dovecot/conf.d/10-ssl.conf |
Ändern Sie als Nächstes den ssl-Parameter wie folgt auf „required“:
|
1 |
ssl = required |
Wir werden auch den Pfad für beide ssl_cert und ssl_key:
|
1 2 |
ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem |
Starten Sie Dovecot neu:
|
1 |
service dovecot restart |
Stellen Sie sicher, dass Port 993 geöffnet ist. Wenn Sie pop3 aktiviert haben, überprüfen Sie auch Port 995:
|
1 |
telnet example.com 993 |
Wenn Sie die Schritte bis zu diesem Punkt abgeschlossen haben, herzlichen Glückwunsch! Sie haben Ihren Mailserver erfolgreich konfiguriert. Um sicherzustellen, dass Sie alle Schritte korrekt ausgeführt haben, können Sie Ihr Konto mithilfe eines E-Mail-Clients wie folgt testen:
|
1 2 3 4 |
- Benutzername: email1@example.com - Passwort: email1's Passwort - IMAP: example.com - SMTP: example.com |
Port 993 wird für sicheres IMAP verwendet und Port 587/Port 25 für SMTP.
Schritt 5: SpamAssassin konfigurieren
Wir sind endlich im letzten Abschnitt des Tutorials angelangt, in dem wir SpamAssassin konfigurieren werden. Wir beginnen mit der Installation von SpamAssassin:
|
1 |
apt-get install spamassassin spamc |
Erstellen Sie einen Benutzer für SpamAssassin wie folgt:
|
1 |
adduser spamd --disabled-login |
Sie müssen die Konfigurationseinstellungen öffnen und ändern, um SpamAssassin konfigurieren zu können:
|
1 |
nano /etc/default/spamassassin |
Da Sie nun hier sind, müssen Sie den ENABLED-Parameter ändern, um den SpamAssassin-Daemon zu aktivieren:
|
1 |
ENABLED=1 |
Ändern Sie die Parameter „home“ und „options“ mit diesem Code:
|
1 2 |
SPAMD_HOME="/home/spamd/" OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${SPAMD_HOME} -s ${SPAMD_HOME}spamd.log" |
Verwenden Sie diese Zeile, um den Parameter PID_File anzugeben:
|
1 |
PIDFILE="${SPAMD_HOME}spamd.pid" |
Verwenden Sie als Nächstes diesen Befehl, um anzugeben, dass die Regeln von SpamAssassin automatisch aktualisiert werden:
|
1 |
CRON=1 |
Überprüfen Sie auf Fehler, indem Sie mit dem folgenden Dokument vergleichen:
https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt
Wenn Sie die Anti-Spam-Regeln einrichten möchten, müssen Sie die Datei /etc/spamassassin/local.cf erneut öffnen:
|
1 |
nano /etc/spamassassin/local.cf |
SpamAssassin funktioniert so, dass es jede E-Mail bewertet, die der Benutzer erhält. Es bewertet die Punktzahl für die E-Mails, und wenn diese bei der Spam-Prüfung höher als 5.0 ist, wird die E-Mail als Spam markiert. Hier sind die Parameter, mit denen Sie diese Anti-Spam-Regeln konfigurieren können:
|
1 2 3 4 5 6 7 8 9 10 |
rewrite_header Subject ***** SPAM _SCORE_ ***** report_safe 0 required_score 5.0 use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 skip_rbl_checks 0 use_razor2 0 use_dcc 0 use_pyzor 0 |
Sobald die Anti-Spam-Regeln festgelegt sind, müssen Sie Postfix mitteilen, dass jede E-Mail mit SpamAssassin überprüft werden soll. Zu diesem Zweck müssen wir die /etc/postfix/master.cf Datei:
|
1 |
nano /etc/postfix/master.cf |
Suchen Sie die folgende Zeile und fügen Sie den spamassassin Filter:
|
1 2 |
smtp inet n - - - - smtpd -o content_filter=spamassassin |
Jetzt können Sie diese Parameter anhängen:
|
1 2 3 |
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} |
Starten Sie schließlich SpamAssassin und starten Sie Postfix neu, um die Änderungen zu übernehmen. Nach dem Neustart beginnt Postfix mit der Überprüfung von Spam in E-Mails:
|
1 2 |
service spamassassin start service postfix restart |
Und das ist alles! Sie haben Ihren Mailserver erfolgreich mit Postfix und Dovecot konfiguriert. Sie haben außerdem die MySQL-Authentifizierung durchgeführt und die Spam-Filterung mit SpamAssassin eingerichtet.
Fazit
Dieses Tutorial beschreibt die Schritte, die Sie befolgen müssen, um die Konfiguration Ihres Mailservers mit den oben genannten Tools durchzuführen. Es kann als umfassende Anleitung für Sie dienen, um Ihren Mailserver unabhängig einzurichten. Wenn Sie daran interessiert sind, die SMTP-Server-Funktion von Google zu nutzen, folgen Sie diesem Tutorial.
Viel Spaß beim Computing!
Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.