| 
				   | 
				
| (18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | 
| Zeile 45: | 
Zeile 45: | 
 | Sie können zwar ein SSL-Zertifikat über eine beliebige Zertifizierungsstelle generieren, wir empfehlen jedoch die Verwendung von Certbot, um schnell und einfach ein kostenloses Zertifikat zu generieren.    |  | Sie können zwar ein SSL-Zertifikat über eine beliebige Zertifizierungsstelle generieren, wir empfehlen jedoch die Verwendung von Certbot, um schnell und einfach ein kostenloses Zertifikat zu generieren.    | 
 | * Befolgen Sie diese [https://certbot.eff.org/instructions Certbot-Anleitung] und wählen Sie Ihre Linux-Distribution und Webserver-Software (oder "None", wenn dieser Server nur als Mailserver fungiert).    |  | * Befolgen Sie diese [https://certbot.eff.org/instructions Certbot-Anleitung] und wählen Sie Ihre Linux-Distribution und Webserver-Software (oder "None", wenn dieser Server nur als Mailserver fungiert).    | 
 | * Nach der Installation führen Sie Certbot mit der Option certonly aus und geben Sie den FQDN-Namen Ihres Mailservers ein (z. B. ''mail.example.com''):  |  | * Nach der Installation führen Sie Certbot mit der Option certonly aus und geben Sie den FQDN-Namen Ihres Mailservers ein (beispielsweise ''mail.example.com''):  | 
 | 
  |  | 
  | 
 |   # certbot certonly --standalone  |  |   # certbot certonly --standalone  | 
| Zeile 76: | 
Zeile 76: | 
 | 
  |  | 
  | 
 | === Datenbank ===  |  | === Datenbank ===  | 
 | siehe [[E-Mail:Server:Setup:Datenbank]]  |  | siehe [[E-Mail/Server/Setup:Datenbank]]  | 
 | 
  |  | 
  | 
 | === Postfix ===  |  | === Postfix ===  | 
 | Postfix is a ''Mail Transfer Agent'' (MTA) that relays mail between your Server and the internet. 
  |  | siehe [[E-Mail/Server/Setup:Postfix]]  | 
 | * It is highly configurable, allowing for great flexibility. 
  |  | 
 | * This guide maintains many of Posfix’s default configuration values.
  |  | 
 |    |  | 
 | ==== How Do Postfix And Dovecot Work Together? ====
  |  | 
 | Postfix and Dovecot work together to help make email servers function as intended (sending and receiving email) and accessible to whichever email client the end user wishes to use. 
  |  | 
 | * While Postfix manages email delivery and receipt, Dovecot allows email clients to connect to these emails when we want to read them.
  |  | 
 |    |  | 
 | ==== Configuration File Settings for Postfix Email Server ====
  |  | 
 | The main.cf file is the primary configuration file used by Postfix.
  |  | 
 | # If you are still logged in to MySQL, return to your main Linux shell by typing exit and hitting enter.
  |  | 
 | # Make a copy of the default Postfix configuration file in case you need to revert to the default configuration:
  |  | 
 |  # cp /etc/postfix/main.cf /etc/postfix/main.cf.orig
  |  | 
 | # Edit the /etc/postfix/main.cf file, replacing any occurrences of example.com with your domain name and verifying that the paths to the SSL certificate and private key are correct. 
  |  | 
 |    |  | 
 | * Here is an example file that can be used:
  |  | 
 | ; /etc/postfix/main.cf
  |  | 
 |  # See /usr/share/postfix/main.cf.dist for a commented, more complete version
  |  | 
 |  
  |  | 
 |  # Debian specific:  Specifying a file name will cause the first
  |  | 
 |  # line of that file to be used as the name.  The Debian default
  |  | 
 |  # is /etc/mailname.
  |  | 
 |  #myorigin = /etc/mailname
  |  | 
 |  
  |  | 
 |  smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
  |  | 
 |  biff = no
  |  | 
 |  
  |  | 
 |  # appending .domain is the MUA's job.
  |  | 
 |  append_dot_mydomain = no
  |  | 
 |  
  |  | 
 |  # Uncomment the next line to generate "delayed mail" warnings
  |  | 
 |  #delay_warning_time = 4h
  |  | 
 |  
  |  | 
 |  readme_directory = no
  |  | 
 |  
  |  | 
 |  # See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
  |  | 
 |  # fresh installs.
  |  | 
 |  compatibility_level = 2
  |  | 
 |  
  |  | 
 |  # TLS parameters
  |  | 
 |  smtpd_tls_cert_file=/etc/letsencrypt/live/example.com/fullchain.pem
  |  | 
 |  smtpd_tls_key_file=/etc/letsencrypt/live/example.com/privkey.pem
  |  | 
 |  smtpd_use_tls=yes
  |  | 
 |  smtpd_tls_auth_only = yes
  |  | 
 |  smtp_tls_security_level = may
  |  | 
 |  smtpd_tls_security_level = may
  |  | 
 |  smtpd_sasl_security_options = noanonymous, noplaintext
  |  | 
 |  smtpd_sasl_tls_security_options = noanonymous
  |  | 
 |  
  |  | 
 |  # Authentication
  |  | 
 |  smtpd_sasl_type = dovecot
  |  | 
 |  smtpd_sasl_path = private/auth
  |  | 
 |  smtpd_sasl_auth_enable = yes
  |  | 
 |  
  |  | 
 |  # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
  |  | 
 |  # information on enabling SSL in the smtp client.
  |  | 
 |  
  |  | 
 |  # Restrictions
  |  | 
 |  smtpd_helo_restrictions ==
  |  | 
 |   permit_mynetworks,
  |  | 
 |   permit_sasl_authenticated,
  |  | 
 |   reject_invalid_helo_hostname,
  |  | 
 |   reject_non_fqdn_helo_hostname
  |  | 
 |  smtpd_recipient_restrictions ==
  |  | 
 |   permit_mynetworks,
  |  | 
 |   permit_sasl_authenticated,
  |  | 
 |   reject_non_fqdn_recipient,
  |  | 
 |   reject_unknown_recipient_domain,
  |  | 
 |   reject_unlisted_recipient,
  |  | 
 |   reject_unauth_destination
  |  | 
 |  smtpd_sender_restrictions ==
  |  | 
 |   permit_mynetworks,
  |  | 
 |   permit_sasl_authenticated,
  |  | 
 |   reject_non_fqdn_sender,
  |  | 
 |   reject_unknown_sender_domain
  |  | 
 |  smtpd_relay_restrictions ==
  |  | 
 |   permit_mynetworks,
  |  | 
 |   permit_sasl_authenticated,
  |  | 
 |   defer_unauth_destination
  |  | 
 |  
  |  | 
 |  # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
  |  | 
 |  # information on enabling SSL in the smtp client.
  |  | 
 |  
  |  | 
 |  myhostname = example.com
  |  | 
 |  alias_maps = hash:/etc/aliases
  |  | 
 |  alias_database = hash:/etc/aliases
  |  | 
 |  mydomain = example.com
  |  | 
 |  myorigin = $mydomain
  |  | 
 |  mydestination = localhost
  |  | 
 |  relayhost ==
  |  | 
 |  mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
  |  | 
 |  mailbox_size_limit = 0
  |  | 
 |  recipient_delimiter = +
  |  | 
 |  inet_interfaces = all
  |  | 
 |  inet_protocols = all
  |  | 
 |  
  |  | 
 |  # Handing off local delivery to Dovecot's LMTP, and telling it where to store mail
  |  | 
 |  virtual_transport = lmtp:unix:private/dovecot-lmtp
  |  | 
 |  
  |  | 
 |  # Virtual domains, users, and aliases
  |  | 
 |  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,
  |  | 
 |   mysql:/etc/postfix/mysql-virtual-email2email.cf
  |  | 
 |  
  |  | 
 |  # Even more Restrictions and MTA params
  |  | 
 |  disable_vrfy_command = yes
  |  | 
 |  strict_rfc821_envelopes = yes
  |  | 
 |  #smtpd_etrn_restrictions = reject
  |  | 
 |  #smtpd_reject_unlisted_sender = yes
  |  | 
 |  #smtpd_reject_unlisted_recipient = yes
  |  | 
 |  smtpd_delay_reject = yes
  |  | 
 |  smtpd_helo_required = yes
  |  | 
 |  smtp_always_send_ehlo = yes
  |  | 
 |  #smtpd_hard_error_limit = 1
  |  | 
 |  smtpd_timeout = 30s
  |  | 
 |  smtp_helo_timeout = 15s
  |  | 
 |  smtp_rcpt_timeout = 15s
  |  | 
 |  smtpd_recipient_limit = 40
  |  | 
 |  minimal_backoff_time = 180s
  |  | 
 |  maximal_backoff_time = 3h
  |  | 
 |  
  |  | 
 |  # Reply Rejection Codes
  |  | 
 |  invalid_hostname_reject_code = 550
  |  | 
 |  non_fqdn_reject_code = 550
  |  | 
 |  unknown_address_reject_code = 550
  |  | 
 |  unknown_client_reject_code = 550
  |  | 
 |  unknown_hostname_reject_code = 550
  |  | 
 |  unverified_recipient_reject_code = 550
  |  | 
 |  unverified_sender_reject_code = 550
  |  | 
 |    |  | 
 | The main.cf file declares the location of virtual_mailbox_domains, virtual_mailbox_maps, and virtual_alias_maps files. 
  |  | 
 | *These files contain the connection information for the MySQL lookup tables created in the [https://www.linode.com/docs/guides/email-with-postfix-dovecot-and-mysql/#mysql MySQL] section of this guide. 
  |  | 
 | *Postfix will use this data to identify all domains, corresponding mailboxes, and valid users.
  |  | 
 |    |  | 
 | ; Create the file for virtual_mailbox_domains. 
  |  | 
 | Replace the value for password with your database user’s password. 
  |  | 
 | * If you used a different name for your database user and dbname replace those with your own values:
  |  | 
 |    |  | 
 | ;/etc/postfix/mysql-virtual-mailbox-domains.cf
  |  | 
 |  user = mailuser
  |  | 
 |  password = mailuserpass
  |  | 
 |  hosts = 127.0.0.1
  |  | 
 |  dbname = mailserver
  |  | 
 |  query = SELECT 1 FROM virtual_domains WHERE name='%s'
  |  | 
 |    |  | 
 | ; Create the /etc/postfix/mysql-virtual-mailbox-maps.cf file
  |  | 
 | enter the following values. 
  |  | 
 | * Use the database user’s password and make any other changes as needed:
  |  | 
 |    |  | 
 | ; /etc/postfix/mysql-virtual-mailbox-maps.cf
  |  | 
 |  user = mailuser
  |  | 
 |  password = mailuserpass
  |  | 
 |  hosts = 127.0.0.1
  |  | 
 |  dbname = mailserver
  |  | 
 |  query = SELECT 1 FROM virtual_users WHERE email='%s'
  |  | 
 |    |  | 
 | ; Create the /etc/postfix/mysql-virtual-alias-maps.cf file
  |  | 
 | enter the following values. 
  |  | 
 | * Use the database user’s password and make any other changes as needed:
  |  | 
 |    |  | 
 | ; /etc/postfix/mysql-virtual-alias-maps.cf
  |  | 
 |  user = mailuser
  |  | 
 |  password = mailuserpass
  |  | 
 |  hosts = 127.0.0.1
  |  | 
 |  dbname = mailserver
  |  | 
 |  query = SELECT destination FROM virtual_aliases WHERE source='%s'
  |  | 
 |    |  | 
 |  
  |  | 
 | ; Create the /etc/postfix/mysql-virtual-email2email.cf file 
  |  | 
 | enter the following values. 
  |  | 
 | * Use the database user’s password and make any other changes as needed:
  |  | 
 |    |  | 
 | ; /etc/postfix/mysql-virtual-email2email.cf
  |  | 
 |  user = mailuser
  |  | 
 |  password = mailuserpass
  |  | 
 |  hosts = 127.0.0.1
  |  | 
 |  dbname = mailserver
  |  | 
 |  query = SELECT email FROM virtual_users WHERE email='%s'
  |  | 
 |    |  | 
 | ; Restart Postfix
  |  | 
 |  # systemctl restart postfix
  |  | 
 |    |  | 
 | ==== Testing Postfix ====
  |  | 
 | We can test the Postfix configuration by using the postmap command, which can query Postfix’s lookup tables.# Enter the following command to ensure that Postfix can query the virtual_domains table. 
  |  | 
 | * Replace example.com with the first name value. 
  |  | 
 | * The command should return 1 if it is successful:
  |  | 
 |  # postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
  |  | 
 | # Test Postfix to verify that it can retrieve the first email address from the MySQL table virtual_users. 
  |  | 
 | * Replace email1@example.com with the first email address added to the table. 
  |  | 
 | * You should receive 1 as the output:
  |  | 
 |  # postmap -q email1@example.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
  |  | 
 | # Test Postfix to verify that it can query the virtual_aliases table. 
  |  | 
 | * Replace alias@example.com with the first source value created in the table. 
  |  | 
 | * The command should return the destination value for the row:
  |  | 
 |  # postmap -q alias@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cf
  |  | 
 |    |  | 
 | ==== Master Program Settings ====
  |  | 
 | * Postfix’s master program starts and monitors all of Postfix’s processes. 
  |  | 
 | * The configuration file master.cf lists all programs and information on how they should be started.
  |  | 
 |    |  | 
 | Make a copy of the /etc/postfix/master.cf file:
  |  | 
 |  # cp /etc/postfix/master.cf /etc/postfix/master.cf.orig
  |  | 
 |    |  | 
 | ; Edit /etc/postfix/master.cf to contain the values in the excerpt below. 
  |  | 
 | The rest of the file can remain unchanged
  |  | 
 |    |  | 
 |  #  File: /etc/postfix/master.cf
  |  | 
 |  #
  |  | 
 |  # Postfix master process configuration file.  For details on the format
  |  | 
 |  # of the file, see the master(5) manual page (command: "man 5 master" or
  |  | 
 |  # on-line: http://www.postfix.org/master.5.html).
  |  | 
 |  #
  |  | 
 |  # Do not forget to execute "postfix reload" after editing this file.
  |  | 
 |  #
  |  | 
 |  # ==========================================================================
  |  | 
 |  # service type  private unpriv  chroot  wakeup  maxproc command + args
  |  | 
 |  #               (yes)   (yes)   (yes)    (never) (100)
  |  | 
 |  # ==========================================================================
  |  | 
 |  smtp      inet  n       -       n       -       -       smtpd
  |  | 
 |  #smtp      inet  n       -       -       -       1       postscreen
  |  | 
 |  #smtpd     pass  -       -       -       -       -       smtpd
  |  | 
 |  #dnsblog   unix  -       -       -       -       0       dnsblog
  |  | 
 |  #tlsproxy  unix  -       -       -       -       0       tlsproxy
  |  | 
 |  submission inet n       -       y      -       -       smtpd
  |  | 
 |   -o syslog_name=postfix/submission
  |  | 
 |   -o smtpd_tls_security_level=encrypt
  |  | 
 |   -o smtpd_sasl_auth_enable=yes
  |  | 
 |   -o smtpd_sasl_type=dovecot
  |  | 
 |   -o smtpd_sasl_path=private/auth
  |  | 
 |   -o smtpd_reject_unlisted_recipient=no
  |  | 
 |   -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  |  | 
 |   -o milter_macro_daemon_name=ORIGINATING
  |  | 
 |  smtps     inet  n       -       -       -       -       smtpd
  |  | 
 |   -o syslog_name=postfix/smtps
  |  | 
 |   -o smtpd_tls_wrappermode=yes
  |  | 
 |   -o smtpd_sasl_auth_enable=yes
  |  | 
 |   -o smtpd_sasl_type=dovecot
  |  | 
 |   -o smtpd_sasl_path=private/auth
  |  | 
 |   -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  |  | 
 |   -o milter_macro_daemon_name=ORIGINATING
  |  | 
 |  [...]
  |  | 
 |    |  | 
 | ; Change the permissions 
  |  | 
 | of the /etc/postfix directory to restrict permissions to allow only its owner and the corresponding group
  |  | 
 |  # chmod -R o-rwx /etc/postfix
  |  | 
 |    |  | 
 | ; Restart Postfix:
  |  | 
 |  # systemctl restart postfix
  |  | 
 | 
  |  | 
  | 
 | === Dovecot ===  |  | === Dovecot ===  | 
| Zeile 333: | 
Zeile 85: | 
 | 
  |  | 
  | 
 | === Testing  ===  |  | === Testing  ===  | 
 | # To send and receive test emails to your mail server, install the Mailutils package:
  |  | siehe [[E-Mail/Server/Setup:Testing]]  | 
 |  # apt-get install mailutils
  |  | 
 | # Send a test email to an email address outside of your mail server, like a Gmail account. 
  |  | 
 | * Replace email1@example.com with an email address from your mail server:
  |  | 
 |  echo "Email body text" |  # mail -s "Email subject line" recipient@gmail.com -aFrom:email1@example.com
  |  | 
 | # Log in to the test email account and verify that you have received the email from the specified mail server email address.
  |  | 
 | # Send a test email to your mail server from an outside email address. 
  |  | 
 | * Log back in and check that the email was received; substitute in the username and domain you sent the mail to:
  |  | 
 |  # mail -f /var/mail/vhosts/example.com/email1
  |  | 
 | When prompted, enter the number corresponding to the email you would like to view:
  |  | 
 |  "/var/mail/vhosts/example.com/": 9 messages 5 new 4 unread
  |  | 
 |  U   1 John Doe     Wed Jun 27 16:00  57/2788  Test email 1
  |  | 
 |  U   2 John Doe     Wed Jun 27 16:02  56/2761  Test email 2
  |  | 
 |  U   3 John Doe     Wed Jun 27 16:35  15/594   Test email 3
  |  | 
 |  U   4 John Doe     Wed Jun 27 16:42  71/3535  Test email 4
  |  | 
 |  >N   5 John Doe     Mon Jul  2 10:55  13/599   Subject of the Email
  |  | 
 |  ?
  |  | 
 |    |  | 
 | The email message header and body should display. 
  |  | 
 | * Consider adding spam and virus filtering and a webmail client.
  |  | 
 | See [https://www.linode.com/docs/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/ Troubleshooting problems with Postfix, Dovecot, and MySQL] for debugging steps.
  |  | 
 | 
  |  | 
  | 
 | === Configuring an Email Client ===  |  | === Configuring an Email Client ===  | 
 | You can set up an email client to connect to your mail server.    |  | You can set up an email client to connect to your mail server.    | 
 | * Many clients detect server settings automatically.    |  | * Many clients detect server settings automatically.    | 
 | * Manual configuration requires the following parameters:
  |  |    | 
 |  | Manual configuration requires the following parameters:  | 
 | * '''Username:''' An email address that was configured (ex: [mailto:user@example.com user@example.com]).  |  | * '''Username:''' An email address that was configured (ex: [mailto:user@example.com user@example.com]).  | 
 | * '''Password:''' The password configured for that email.  |  | * '''Password:''' The password configured for that email.  | 
| Zeile 368: | 
Zeile 101: | 
 |   '''Note'''  |  |   '''Note'''  | 
 |   The Thunderbird email client will sometimes have trouble automatically detecting account settings when using Dovecot.    |  |   The Thunderbird email client will sometimes have trouble automatically detecting account settings when using Dovecot.    | 
 |  |  | 
 | * After it fails to detect the appropriate account settings, you can set up your email account manually.    |  | * After it fails to detect the appropriate account settings, you can set up your email account manually.    | 
 | * Add in the appropriate information for each setting, using the above values, leaving no setting on '''Auto''' or '''Autodetect'''.    |  | * Add in the appropriate information for each setting, using the above values, leaving no setting on '''Auto''' or '''Autodetect'''.    | 
 | * Once you have entered all the information about your mail server and account, press '''Done''' rather '''Re-Test''' and Thunderbird should accept the settings and retrieve your mail.  |  | * Once you have entered all the information about your mail server and account, press '''Done''' rather '''Re-Test''' and Thunderbird should accept the settings and retrieve your mail.  | 
 | 
  |  | 
  | 
 | === Managing Spam ===  |  | === Spam ===  | 
 | ; SpamAssassin
  |  | siehe [[E-Mail/Server/Setup:Spam]]  | 
 |    |  | 
 | [https://spamassassin.apache.org/ Apache SpamAssassin] is a free and open source platform that allows us to find and filter out spam email.   |  | 
 | * This software is commonly used in tandem with Postfix and Dovecot.
  |  | 
 |    |  | 
 | ;Install SpamAssassin
  |  | 
 |  # apt-get install spamassassin spamc
  |  | 
 |    |  | 
 | ; Create a user for SpamAssassin daemon(spamd):
  |  | 
 |  # adduser spamd --disabled-login
  |  | 
 |    |  | 
 | ;Edit the /etc/default/spamassassin configuration file. 
  |  | 
 | Set the home directory, update the OPTIONS parameter with the user that was just created (as well as the home directory), and update the CRON parameter to 1.
  |  | 
 |    |  | 
 |  File: /etc/default/spamassassin
  |  | 
 |  [...]
  |  | 
 |  
  |  | 
 |  HOMEDIR="/home/spamd/"
  |  | 
 |  OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${HOMEDIR} -s ${HOMEDIR}spamd.log"
  |  | 
 |  PIDFILE="${HOMEDIR}spamd.pid"
  |  | 
 |  
  |  | 
 |  [...]
  |  | 
 |  
  |  | 
 |  CRON=1
  |  | 
 |    |  | 
 | Here is a [https://spamassassin.apache.org/full/3.1.x/doc/Mail_SpamAssassin_Conf.html detailed documentation] of SpamAssassin’s configuration file that you can refer to while working through these next steps.
  |  | 
 |    |  | 
 | ; Configure the Postfix email server to check each email with a score > 5.0, mark it as '''''SPAM''''', and send it directly to the junk folder. 
  |  | 
 | * Add or adjust the following lines inside /etc/spamassassin/local.cf to setup your anti-spam rules:
  |  | 
 |    |  | 
 | *  File: /etc/spamassassin/local.cf
  |  | 
 |    |  | 
 | {| 
  |  | 
 | |- 
  |  | 
 | ||  
  |  | 
 | || ...
  |  | 
 |    |  | 
 | 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
  |  | 
 |    |  | 
 | ...
  |  | 
 | |-
  |  | 
 | |}
  |  | 
 | * Set up your Postfix email server to allow anti-spam configuration to check incoming emails. 
  |  | 
 | * Edit /etc/postfix/master.cf and add a filter:
  |  | 
 |    |  | 
 | #  File: /etc/postfix/master.cf
  |  | 
 |    |  | 
 | {| 
  |  | 
 | |- 
  |  | 
 | ||  
  |  | 
 | || ...
  |  | 
 |    |  | 
 | smtp      inet  n       -       -       -       -       smtpd
  |  | 
 | -o content_filter=spamassassin
  |  | 
 |    |  | 
 | ...
  |  | 
 |    |  | 
 | spamassassin unix -     n       n       -       -       pipe
  |  | 
 |  user=spamd argv=/usr/bin/spamc -f -e
  |  | 
 | /usr/sbin/sendmail -oi -f ${sender} ${recipient}
  |  | 
 | |-
  |  | 
 | |}
  |  | 
 | # Start Spamassassin and enable the service to start on boot:
  |  | 
 |  # systemctl start spamassassin
  |  | 
 |  # systemctl enable spamassassin
  |  | 
 | If not using systemd (as is the case with Debian 7 and earlier), edit the /etc/default/spamassassin configuration file instead. 
  |  | 
 | * Set the ENABLED parameter to 1.
  |  | 
 | # Restart the Postfix email server to get your new anti-spam settings in place:
  |  | 
 |  # systemctl restart postfix
  |  | 
 | 
  |  | 
  | 
 | == Konfiguration ==  |  | == Konfiguration ==  | 
| Zeile 457: | 
Zeile 114: | 
 | == Siehe auch ==  |  | == Siehe auch ==  | 
 | == Links ==  |  | == Links ==  | 
 | === Projekt-Homepage ===  |  | === Projekt ===  | 
 | === Weblinks ===  |  | === Weblinks ===  | 
 | # https://www.linode.com/docs/guides/email-with-postfix-dovecot-and-mysql/  |  | # https://www.linode.com/docs/guides/email-with-postfix-dovecot-and-mysql/  | 
 | # [https://www.linode.com/docs/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/ Troubleshooting Problems with Postfix, Dovecot, and MySQL]  |  | # [https://www.linode.com/docs/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/ Troubleshooting Problems with Postfix, Dovecot, and MySQL]  | 
 | # [http://www.postfix.org/BASIC_CONFIGURATION_README.html Postfix Basic Configuration]  |  | # [https://www.postfix.org/BASIC_CONFIGURATION_README.html Postfix Basic Configuration]  | 
 | # [http://www.postfix.org/SASL_README.html Postfix SASL Howto]  |  | # [https://www.postfix.org/SASL_README.html Postfix SASL Howto]  | 
 | # [https://wiki2.dovecot.org/ Dovecot Wiki]  |  | # [https://wiki2.dovecot.org/ Dovecot Wiki]  | 
 | 
  |  | 
  | 
 | === Einzelnachweise ===
  |  | 
 | <references />
  |  | 
 | == Testfragen ==
  |  | 
 | <div class="toccolours mw-collapsible mw-collapsed">
  |  | 
 | ''Testfrage 1''
  |  | 
 | <div class="mw-collapsible-content">'''Antwort1'''</div>
  |  | 
 | </div>
  |  | 
 | <div class="toccolours mw-collapsible mw-collapsed">
  |  | 
 | ''Testfrage 2''
  |  | 
 | <div class="mw-collapsible-content">'''Antwort2'''</div>
  |  | 
 | </div>
  |  | 
 | <div class="toccolours mw-collapsible mw-collapsed">
  |  | 
 | ''Testfrage 3''
  |  | 
 | <div class="mw-collapsible-content">'''Antwort3'''</div>
  |  | 
 | </div>
  |  | 
 | <div class="toccolours mw-collapsible mw-collapsed">
  |  | 
 | ''Testfrage 4''
  |  | 
 | <div class="mw-collapsible-content">'''Antwort4'''</div>
  |  | 
 | </div>
  |  | 
 | <div class="toccolours mw-collapsible mw-collapsed">
  |  | 
 | ''Testfrage 5''
  |  | 
 | <div class="mw-collapsible-content">'''Antwort5'''</div>
  |  | 
 | </div>
  |  | 
 | 
  |  | 
  | 
 | [[Kategorie:Entwurf]]
  |  |    | 
 | [[Kategorie:E-Mail:Server]]  |  |    | 
 |  | [[Kategorie:E-Mail/Server]]  | 
 | [[Kategorie:Postfix]]  |  | [[Kategorie:Postfix]]  | 
 | [[Kategorie:Dovecot]]  |  | [[Kategorie:Dovecot]]  | 
E-Mail-Server-Setup mit Postfix, Dovecot und MySQL 
Beschreibung
Konfiguration eines E-Mail-Servers mit Postfix, Dovecot und MySQL 
- DNS konfigurieren
 
- Datenbank einrichten
 
- Postfix installieren und einrichten
 
- Dovecot installieren und einrichten
 
- Testen des E-Mail-Server
 
- Weitere Domänen und E-Mail-Adressen hinzuzufügen
 
Voraussetzungen
- Linux-Server mit geeigneten Sicherheitsmaßnahmen
 
DNS konfigurieren
Wenn Sie bereit sind, das DNS zu aktualisieren und mit dem Senden von E-Mails an den Server zu beginnen, bearbeiten Sie die DNS-Einträge der Domäne, um Ihren E-Mail-Server zu definieren:
- Fügen Sie einen DNS-Eintrag für Ihren E-Mail-Server hinzu
 
- Dies kann entweder ein A-Eintrag sein, der auf die IP-Adresse Ihres Servers verweist, oder ein CNAME-Eintrag, der auf einen Domänennamen verweist.
 
- Unabhängig davon, welcher Eintrag gewählt wird, setzen Sie den Hostnamen/Namen auf Mail.
 
- MX-Record
 
Setzen Sie den Hostnamen/Namen auf @, den Mailserver auf mail.example.com (ersetzen Sie example.com durch Ihren Domainnamen) und die Priorität auf 10.
- Beispielausgabe
 
@ MX 10 mail.example.com.
mail A 192.0.2.0
- Vergewissern Sie sich, dass der MX-Eintrag für alle Domänen und Subdomänen geändert wird, die E-Mails empfangen könnten.
 
- Wenn Sie eine neue Domäne einrichten, können Sie diese Schritte vor der Konfiguration des Mailservers durchführen.
 
Aktualisieren der Hosts-Datei
Stellen Sie sicher, dass 
- die Hosts-Datei eine Zeile für die öffentliche IP-Adresse enthält
 
- mit dem Fully Qualified Domain Name (FQDN) verbunden ist
 
Im folgenden Beispiel ist 192.0.2.0 die öffentliche IP-Adresse, mail ist der lokale Hostname, und mail.example.com ist der FQDN
- /etc/hosts
 
127.0.0.1 localhost.localdomain localhost
192.0.2.0 mail.example.com mail
SSL-Zertifikat installieren
Sie müssen ein SSL-Zertifikat auf Ihrem Mailserver installieren, bevor Sie die Dovecot-Konfigurationsschritte abschließen. 
- Das SSL-Zertifikat authentifiziert die Identität des Mailservers gegenüber den Benutzern und verschlüsselt die übertragenen Daten zwischen dem Mail-Client des Benutzers und dem Mailserver.
 
Sie können zwar ein SSL-Zertifikat über eine beliebige Zertifizierungsstelle generieren, wir empfehlen jedoch die Verwendung von Certbot, um schnell und einfach ein kostenloses Zertifikat zu generieren. 
- Befolgen Sie diese Certbot-Anleitung und wählen Sie Ihre Linux-Distribution und Webserver-Software (oder "None", wenn dieser Server nur als Mailserver fungiert).
 
- Nach der Installation führen Sie Certbot mit der Option certonly aus und geben Sie den FQDN-Namen Ihres Mailservers ein (beispielsweise mail.example.com):
 
# certbot certonly --standalone
Sie können auch die Anleitung Install an SSL Certificate with Certbot zu Rate ziehen. 
- Notieren Sie sich die Dateipfade für das Zertifikat und den privaten Schlüssel.
 
- Sie benötigen die Pfade für die Dovecot Konfigurationsschritte.
 
Install Packages
- Update your system
 
# apt-get update
# apt-get upgrade
- Install the packages
 
# apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql mysql-server
Dadurch wird das Paket mysql-server installiert, das in einigen neueren Versionen von Debian nicht standardmäßig verfügbar ist. 
- Wenn Sie eine Meldung erhalten, dass das Paket nicht verfügbar ist, installieren Sie stattdessen mariadb-server.
 
- MariaDB ist ein sofort einsetzbarer MySQL-Ersatz.
 
Bei neueren Versionen von MySQL werden Sie nicht aufgefordert, ein Passwort für den Root-MySQL-Benutzer einzugeben. 
- Das liegt daran, dass MySQL unter Debian und Ubuntu jetzt standardmäßig entweder das unix_socket- oder auth_socket-Autorisierungs-Plugin verwendet.
 
- Dieses Autorisierungsschema erlaubt es Ihnen, sich mit dem Root-Benutzer der Datenbank anzumelden, solange Sie sich mit dem Linux-Root-Benutzer auf localhost verbinden.
 
Wenn Sie dazu aufgefordert werden, wählen Sie Internet Site als Typ des Mailservers, den das Postfix-Installationsprogramm konfigurieren soll. 
- Im nächsten Fenster sollte der System Mail Name auf die Domäne gesetzt werden, über die Sie E-Mails senden und empfangen möchten.
 
"Choose “Internet Site” for Postfix."
"Set the system mail name for Postfix."
Datenbank
siehe E-Mail/Server/Setup:Datenbank
Postfix
siehe E-Mail/Server/Setup:Postfix
Dovecot
siehe Dovecot#Installation
Testing
siehe E-Mail/Server/Setup:Testing
Configuring an Email Client
You can set up an email client to connect to your mail server. 
- Many clients detect server settings automatically.
 
Manual configuration requires the following parameters:
- Username: An email address that was configured (ex: user@example.com).
 
- Password: The password configured for that email.
 
- Server: (Both incoming and outgoing) A domain that resolves to the Server (such as mail.example.com)
 
- IMAP: Set the port to 993 and the SSL/Security settings to SSL/TLS or equivalent.
 
- POP3: If using POP3 instead of IMAP, set the port to 995 and require SSL.
 
- SMTP: Set the port to 587 and the SSL/Security settings to STARTTLS or equivalent.
 
Note
The Thunderbird email client will sometimes have trouble automatically detecting account settings when using Dovecot. 
- After it fails to detect the appropriate account settings, you can set up your email account manually.
 
- Add in the appropriate information for each setting, using the above values, leaving no setting on Auto or Autodetect.
 
- Once you have entered all the information about your mail server and account, press Done rather Re-Test and Thunderbird should accept the settings and retrieve your mail.
 
Spam
siehe E-Mail/Server/Setup:Spam
Konfiguration
Dateien
Sicherheit
Siehe auch
Links
Projekt
Weblinks
- https://www.linode.com/docs/guides/email-with-postfix-dovecot-and-mysql/
 
- Troubleshooting Problems with Postfix, Dovecot, and MySQL
 
- Postfix Basic Configuration
 
- Postfix SASL Howto
 
- Dovecot Wiki