|
|
| (14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 4: |
Zeile 4: |
| Siehe dazu auch [[MySQL installieren]]. | | Siehe dazu auch [[MySQL installieren]]. |
|
| |
|
| [[Dovecot]]
| | == Einrichtung == |
|
| |
|
| == Postfix ==
| | [[PostfixAdmin]] |
|
| |
|
| === Installation ===
| | [[Dovecot]] |
|
| |
|
| <pre style="white-space: pre-wrap;
| | [[Postfix]] |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| apt-get install postfix postfix-mysql
| |
| </pre>
| |
|
| |
|
| === Konfiguration ===
| | [[Mailserver Umgebung]] |
|
| |
|
| Der Übersichtlichkeit halber legen wir ein neues Konfigurationsfile ''/etc/postfix/main.cf'' mit nur dem notwendigsten Inhalt an:
| | [[Mailserver testen]] |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| cd /etc/postfix/
| |
| sudo mv main.cf main.cf_bak
| |
| sudo touch main.cf
| |
| </pre>
| |
|
| |
|
| Die neu erstelle Datei mit folgenden Inhalt befüllen (''<local domain>'' durch den entsprechenden Wert ersetzen):
| | [[Webmail]] |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
| |
| biff = no
| |
| | |
| append_dot_mydomain = no
| |
| | |
| readme_directory = no
| |
| | |
| mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
| |
| mydestination =
| |
| mailbox_size_limit = 51200000
| |
| message_size_limit = 51200000
| |
| recipient_delimiter = localhost.$mydomain, localhost, mail.$mydomain
| |
| inet_interfaces = all
| |
| myorigin = <local domain>
| |
| inet_protocols = all
| |
| </pre>
| |
| | |
| ==== SSL Zertifikat ====
| |
| | |
| Hilfe zu Erstellung eines SSL-Zertifikates siehe [[SSL Zertifikat]]
| |
| | |
| In der Datei ''/etc/postfix/main.conf'' folgende Zeilen hinzufügen:
| |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| ##### TLS parameters ######
| |
| smtpd_tls_cert_file=/etc/ssl/certs/postfix.crt
| |
| smtpd_tls_key_file=/etc/ssl/private/postfix.key
| |
| smtpd_use_tls=yes
| |
| smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
| |
| smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
| |
| smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
| |
| </pre>
| |
| | |
| ==== SASL Auth und Submission aktivieren ====
| |
| | |
| Postfix soll bei Dovecot per SASL Authentifizierung nachfragen, ob für die akutellen Benutzer/Passwort-Kombination das Senden/Empfangen erlaubt ist.
| |
| | |
| Dazu in der Datei ''/etc/postfix/main.conf'' folgende Zeilen hinzufügen:
| |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| ###### SASL Auth ######
| |
| smtpd_sasl_type = dovecot
| |
| smtpd_sasl_path = private/auth
| |
| smtpd_sasl_auth_enable = yes
| |
| </pre>
| |
| | |
| In der Datei ''/etc/postfix/master.cf'' den ''submission''-Block folgendermassen anpassen bzw. ersetzen:
| |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| submission inet n - - - - smtpd -v
| |
| -o syslog_name=postfix/submission
| |
| -o smtpd_tls_security_level=encrypt
| |
| -o smtpd_sasl_type=dovecot
| |
| -o smtpd_sasl_path=private/auth
| |
| -o smtpd_sasl_security_options=noanonymous
| |
| -o smtpd_sasl_auth_enable=yes
| |
| -o smtpd_client_restrictions=permit_sasl_authenticated,reject
| |
| </pre>
| |
| | |
| ==== LMTP aktivieren ====
| |
| | |
| In der Datei ''/etc/postfix/main.c'' Zeilen hinzufügen:
| |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| ###### Use Dovecot LMTP Service to deliver Mails to Dovecot ######
| |
| virtual_transport = lmtp:unix:private/dovecot-lmtp
| |
| </pre>
| |
| | |
| ==== Relay Einstellungen ====
| |
| | |
| Mails sollen nur weitergeleited werden, falls der Sender der Server selbst ist oder der Benutzer in die Benutzerdatenbank von Dovecot eingetragen ist.
| |
| | |
| Dazu in der Datei ''/etc/postfix/main.c'' folgende Zeilen hinzufügen:
| |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| ##### Only allow mail transport if client is authenticated or in own network (PHP Scripts, ...) ######
| |
| smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
| |
| </pre>
| |
| | |
| === Datenbankanbindung ===
| |
| | |
| ==== Datenbank erstellen ====
| |
| | |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| mysql -u root -p
| |
| mysql> use mails;
| |
| mysql> create table domains (id INT UNSIGNED AUTO_INCREMENT NOT NULL, domain VARCHAR(128) NOT NULL, UNIQUE (id), PRIMARY KEY (domain));
| |
| mysql> create table aliases (id INT UNSIGNED AUTO_INCREMENT NOT NULL, source VARCHAR(128) NOT NULL, destination VARCHAR(128) NOT NULL, UNIQUE (id), PRIMARY KEY (source, destination) );
| |
| mysql> quit;
| |
| </pre>
| |
| | |
| ==== Datenbank befüllen ====
| |
| | |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| mysql -u root -p
| |
| mysql> use mails;
| |
| mysql> insert into domains (domain) values ('domain.tld');
| |
| mysql> quit;
| |
| </pre>
| |
| | |
| Mittels Alias-Mail-Adressen kann man Mail an andere Adressen weiterleiten. Mittels nachfolgenden Datenbankeintrag kann werden Mails an ''test@domain.tld'' im Postfach von ''admin@domain.tld'' eingeordnet.
| |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| insert into aliases (source, destination) values ('test@domain.tld', 'admin@domain.tld');
| |
| </pre>
| |
| | |
| ==== Konfiguration ====
| |
| | |
| In der Datei ''/etc/postfix/main.cf'' die Datenbank-Konfigurations-Dateien eintragen:
| |
| | |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| ###### MySQL Connection ######
| |
| | |
| virtual_alias_maps = mysql:/etc/postfix/virtual/mysql-aliases.cf
| |
| virtual_mailbox_maps = mysql:/etc/postfix/virtual/mysql-maps.cf
| |
| virtual_mailbox_domains = mysql:/etc/postfix/virtual/mysql-domains.cf
| |
| local_recipient_maps = $virtual_mailbox_maps
| |
| </pre>
| |
| | |
| Eingetragene Dateipfade erstellen:
| |
| | |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| sudo mkdir /etc/postfix/virtual
| |
| sudo chmod 660 /etc/postfix/virtual
| |
| sudo touch /etc/postfix/virtual/mysql-aliases.cf
| |
| sudo touch /etc/postfix/virtual/mysql-maps.cf
| |
| sudo touch /etc/postfix/virtual/mysql-domains.cf
| |
| </pre>
| |
| | |
| Datei ''/etc/postfix/virtual/mysql-aliasis.cf'' mit folgenden Inhalt befüllen:
| |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| user = mailserver
| |
| password = <password>
| |
| hosts = <server ip>
| |
| dbname = mails
| |
| query = SELECT destination FROM aliases WHERE source='%s'
| |
| </pre>
| |
| | |
| Datei ''/etc/postfix/virtual/mysql-maps.cf'' mit folgenden Inhalt befüllen:
| |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| user = mailserver
| |
| password = <password>
| |
| hosts = <server ip>
| |
| dbname = mails
| |
| query = SELECT * FROM users WHERE username='%u' AND domain='%d'
| |
| </pre>
| |
| | |
| Datei ''/etc/postfix/virtual/mysql-domains.cf'' mit folgenden Inhalt befüllen:
| |
| <pre style="white-space: pre-wrap;
| |
| white-space: -moz-pre-wrap;
| |
| white-space: -pre-wrap;
| |
| white-space: -o-pre-wrap;
| |
| word-wrap: break-word;">
| |
| user = mailserver
| |
| password = <password>
| |
| hosts = <server ip>
| |
| dbname = mails
| |
| query = SELECT * FROM domains WHERE domain='%s'
| |
| </pre>
| |
| | |
| == Ports ==
| |
|
| |
|
| {| class="wikitable"
| | [[Amavis-Spam-Virenfilter]] |
| !| Service
| |
| !| Port verschlüsselt
| |
| !| Port unverschlüsselt
| |
| |-
| |
| | imap
| |
| | 993
| |
| | '''143'''
| |
| |-
| |
| | pop
| |
| | '''995'''
| |
| | 110
| |
| |-
| |
| | smtp
| |
| | 465 (veraltet) / '''587''' (für Mail-Clients)
| |
| | '''25'''
| |
| |}
| |
|
| |
|
| ''SPF''-Eintrag
| | [[Sieve Mailfilter]] |
| <pre>
| |
| TXT "v=spf1 mx -all"
| |
| </pre>
| |
|
| |
|
| [http://wiki.hetzner.de/index.php/DNS_SPF http://wiki.hetzner.de/index.php/DNS_SPF] | | [[Fetchmail]] |
|
| |
|
| == Testen ==
| | [[Mailman]] |
|
| |
|
| [[Mailserver testen]] | | [[Leafnode]] |
|
| |
|
| [[Webmail]] | | [[Mails verschlüsseln]] |
|
| |
|
| == Links == | | == Links == |
|
| |
| [https://wiki.ubuntuusers.de/Dovecot_2/ https://wiki.ubuntuusers.de/Dovecot_2/]
| |
|
| |
|
| [https://help.ubuntu.com/community/PostfixDovecotSASL https://help.ubuntu.com/community/PostfixDovecotSASL] | | [https://help.ubuntu.com/community/PostfixDovecotSASL https://help.ubuntu.com/community/PostfixDovecotSASL] |
|
| |
|
| [https://thomas-leister.de/internet/mailserver-ubuntu-server-dovecot-postfix-mysql/ https://thomas-leister.de/internet/mailserver-ubuntu-server-dovecot-postfix-mysql/] | | [https://thomas-leister.de/internet/mailserver-ubuntu-server-dovecot-postfix-mysql/ https://thomas-leister.de/internet/mailserver-ubuntu-server-dovecot-postfix-mysql/] |
|
| |
| [http://wiki.dovecot.org/de/ http://wiki.dovecot.org/de/]
| |
|
| |
| [http://www.scriptworker.com/details/article//postfix-mailqueue-aufraeumen-update/ http://www.scriptworker.com/details/article//postfix-mailqueue-aufraeumen-update/]
| |
|
| |
|
|
| |
|
| Zurück zu [[Ubuntu]] | | Zurück zu [[Mailserver einrichten (unterschiedliche Versionen)|Mailserver einrichten]] |