Deutsch
2023-12-03

Content

Konfiguration eines Mailservers unter Eisfair

Schwerpunkt liegt auf der Verteilung der E-Mails auf die verschiedenen Benutzer von einem zentralen POP3-Konto als Multidrop-Mailbox bei 1&1

 

Stand der Dinge:

Alle E-Mails sind als Weiterleitung in einem POP3-Postfach angekommen. Dieses Postfach wurde zentral von einem Mitarbeiter mit Outlook Express abgeholt. Dazu wählte er sich mit einem FLI4L-Router über ISDN ins Internet ein. Danach wurden E-Mails die für bestimmte Mitarbeiter gedacht waren ausgedruckt und ins Postfach gelegt.

 

Zielsetzung:

Um allen Mitarbeitern Zugriff auf Ihre E-Mail-Konten zu eröffnen sollte ein eigener E-Mail Server ins Firmennetzwerk integriert werden. Ausgewählt wurde das EISFAIR Projekt das alle nötigen Vorrausetzungen mitbringt.

 

* IMAP

* Webmail (damit jeder Mitarbeiter unabhängig vom Computer-Arbeitsplatz auf seine Mails zugreifen kann)

* endlich DSL

 

Installiert wurde auf einem Pentium 100 mit 32 MB RAM und einer 3,6 GB Festplatte der EISFAIR 1.0.4 mit fast allen wichtigen Paketen.

 

* installiert wurde das Mail-Paket (1.1.6) mit Webmail (1.0.2)

* bei unserem Provider 1&1 besteht eine eigene Domain „firma.de“

* alle E-mail adressen lauten also z.b. max.mustermann@firma.de

 

Alle ausgehenden Mails sollen über den smtp-Host von Puretec ausgeliefert werden (würde zwar theoretisch auch vom eigenen SMTP gehen, aber so wie ich das verstanden habe nehmen die Mailserver nur Mails von SMTPs an die sie „kennen“. Da wir immer eine wechselnde IP Adesse haben funzt das nicht) ->Siehe Smarthost

 

Ausführung

Alle Mail-User müssen als Eisfair-User bestehen, d.h. vorher User im Setup anlegen, bzw. es muss ein Alias definiert worden sein, der auf ein existierendes Postfach zeigt. Alle Accounts müssen in Kleinbuchstaben eingerichtet werden.

Für alle Mails die nicht an einen User direkt adressiert sind soll das öffentliche Postfach verwendet werden, das alle User einsehen können.Nicht alle Einträge werden in diesem Howto kommentiert. Dafür gibt es die umfangreiche Dokumentation. Die Einträge die ich hier kommentiere sind speziell für mein Projekt wichtig gewesen.

 

pop3: general settings

Pop3 und Imap wird gestartet

 

# pop3/imap: mail users and optional passwords

Es werden sechs Imap Postfächer angelegt

 

IMAP_PUBLIC_FOLDER

In diesen Ordner sollen alle E-mail weitergeleitet werden die an die Adresse office(at)firma.de adressiert sind. Auf diesen Ordner können alle Mitarbeiter zugreifen. Mit Squirrel-Mail als Webmail lässt sich dieser Ordner ohne Probleme in die Ordnerstruktur einbinden.

 

# fetchmail: general settings

Fetchmail wird gestartet und mit den entsprechenden Parametern versehen.

 

# fetchmail: accounts

In diesem Abschnitt wird mein POP3 Konto bei 1&1.de eingesetzt und der User-Name mit Passwort gesetzt.

 

FETCHMAIL_1_DOMAIN

Fetchmail soll die Mails für die ganze Domain abholen.

 

FETCHMAIL_1_ENVELOPE

Diese Funktion wird auf 'yes' gesetzt und damit die Multi-Drop-Mailbox genauer untersucht. Diese Funktion schaut genau nach an welche Adresse die E-Mail gerichtet war und stellt sie entsprechend zu. Durch den Parameter versucht Fetchmail den eigentlichen Empfänger aus verschiedenen anderen Header-Feldern

zu ermitteln.

 

FETCHMAIL_x_SERVER_AKA_y

Dies hilft Fetchmail zu erkennen welche Domains 'lokal' vorhanden sind und beschleunigen die Zustellung, da nicht explizit DNS-Abfragen durchgeführt werden müssen.

 

# smtp: general settings

Starten des SMTP

 

#smtp: local domains

Hier wurde eine dritte Domain hinzugefügt, nämlich die eigene.

 

smtp: relay from hosts

Hier wird definiert von welchen Hosts Mails angenommen werden die nach aussen weitergeleitet werden (Sicherheitsmassnahme).

 

smtp: smarthosts

Hier wird der smtp server von 1&1 definiert über den alle E-Mails nach aussen verschickt werden sollen. Ein smarthost für alle Mails.

 

SMTP_ALIASES

Hier werden die Aliases von meinen sechs Usern definiert. Sechs mal zwei Aliases plus einmal root ergibt 13.

 

 

mail.conf:

 

#------------------------------------------------------------------------------

# /etc/config.d/mail - configuration for mail services on EIS/FAIR

#

# Copyright (c) 2002 Frank Meyer <frank(at)eisfair.org>

#

# Creation: 28.04.2002 fm

# Last Update: 08.02.2003 jed

#

# This program is free software; you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by

# the Free Software Foundation; either version 2 of the License, or

# (at your option) any later version.

#------------------------------------------------------------------------------

 

#------------------------------------------------------------------------------

# pop3: general settings

#------------------------------------------------------------------------------

START_POP3='yes' # start POP3 server: yes or no

START_IMAP='yes' # start IMAP server: yes or no

 

POP3IMAP_CREATE_MBX='yes' # create mbx mailbox for imap

 

POP3IMAP_USE_MAILONLY_PASSWORDS='no' # use seperate mail passwords: yes or no

#------------------------------------------------------------------------------

# pop3/imap: mail users and optional passwords

#------------------------------------------------------------------------------

POP3IMAP_N='6' # set mail-accounts

POP3IMAP_1_USER='max' # username

POP3IMAP_1_PASS='' # optional mail only password

POP3IMAP_2_USER='emil'

POP3IMAP_2_PASS=''

POP3IMAP_3_USER='hans'

POP3IMAP_3_PASS=''

POP3IMAP_4_USER='erna'

POP3IMAP_4_PASS=''

POP3IMAP_5_USER='andi'

POP3IMAP_5_PASS=''

POP3IMAP_6_USER='lisa'

POP3IMAP_6_PASS=''

#------------------------------------------------------------------------------

# imap: shared and public folders

#

# Optional:

# Setup public or shared imap folders. This feature is not supported by

# some mail clients, but has succesfully tested with netscape messenger.

#------------------------------------------------------------------------------

 

IMAP_SHARED_PUBLIC_USERGROUP='users' # name of usergroup for shared and

# public folders - default: users

IMAP_SHARED_FOLDER_N='0' # number of shared folders to create

IMAP_SHARED_FOLDER_1_NAME='' # 1. folder to create

 

IMAP_PUBLIC_FOLDER_N='1' # number of public folders to create

IMAP_PUBLIC_FOLDER_1_NAME='office' # 1. folder to create

 

#------------------------------------------------------------------------------

# fetchmail: general settings

#------------------------------------------------------------------------------

START_FETCHMAIL='yes' # start FETCHMAIL client: yes or no

FETCHMAIL_PROTOCOL='POP3' # protocol to use, normally pop3

FETCHMAIL_LIMIT='1000000' # mail size limit. Default: 4 megabytes

FETCHMAIL_WARNINGS='86400' # send warnings once a day (in seconds)

FETCHMAIL_DAEMON='600' # check every 10 minutes (in seconds)

FETCHMAIL_TIMEOUT='90' # wait for server reply (in seconds)

 

#------------------------------------------------------------------------------

# fetchmail: accounts

#------------------------------------------------------------------------------

 

FETCHMAIL_N='1' # number of accounts to fetch

FETCHMAIL_1_SERVER='pop.1und1.com' # mail server to poll

FETCHMAIL_1_USER='pt123456-1234' # username and

FETCHMAIL_1_PASS='Your_Password' # password for this server

FETCHMAIL_1_FORWARD='' # local account to forward to

FETCHMAIL_1_SMTPHOST='' # smtp host to forward to,

# default is 'localhost'

FETCHMAIL_1_DOMAIN='yes' # if yes fetchmail gets mail for

# a whole domain.

FETCHMAIL_1_ENVELOPE='yes' # if yes, lookup envelope addresses

FETCHMAIL_1_SERVER_AKA_N='1' # number of dns aliases, default is '0'

FETCHMAIL_1_SERVER_AKA_1='firma.de' # 1. dns alias

FETCHMAIL_1_LOCALDOMAIN_N='0' # number of local domains,default is '0'

FETCHMAIL_1_LOCALDOMAIN_1='' # 1. local domain

FETCHMAIL_1_LOCALDOMAIN_2='' # 2. local domain

FETCHMAIL_1_PROTOCOL='' # set a different protocol

# default is FETCHMAIL_PROTOCOL

FETCHMAIL_1_PORT='' # set a different pop3 ip port

# default is 110

FETCHMAIL_1_AUTH_TYPE='password' # set a different authentication type

# default is 'any'

FETCHMAIL_1_KEEP='no' # if yes mail is left on the server

FETCHMAIL_1_FETCHALL='yes' # if yes all mail is fetched from the server

FETCHMAIL_1_SSL_PROTOCOL='none' # ssl protocol: none, ssl2, ssl3 or tls1

FETCHMAIL_1_SSL_TRANSPORT='no' # enable ssl transport

FETCHMAIL_1_SSL_FINGERPRINT='' # ssl fingerprint

 

#------------------------------------------------------------------------------

# smtp: general settings

#------------------------------------------------------------------------------

 

START_SMTP='yes' # start SMTP server: yes or no

SMTP_QUALIFY_DOMAIN='firma.de' # domain to be added to all unqualified

# addresses

SMTP_HOSTNAME='eisfair.firma.de' # canonical hostname of eisfair server

SMTP_QUEUE_INTERVAL='30' # queueing interval in minutes, usually 30

SMTP_QUEUE_OUTBOUND_MAIL='no' # set to yes if you are using a dialup ISP

# and you want to queue outbound mail until

# next queue run which must be initiated

# manually or cron-job

SMTP_LISTEN_PORT='smtp' # port on which Exim is listening for

# inbound traffic: should not be changed

# by default

SMTP_MAIL_TO_UNKNOWN_USERS='bounce' # how to handle mail to unknown mail users:

# bounce, copy or forward

# default is 'bounce'

SMTP_ALLOW_EXIM_FILTERS='no' # allow exim filters in .forward file: yes or no

 

SMTP_CHECK_SPOOL_SPACE='' # check if enough disk space for spool directory

# is available. Default is being set to 10Mb

SMTP_CHECK_SPOOL_INODES='' # check if enough inodes for spool directory

# are available. Default is being set to 100

# mail size limit. Default is being set to 50Mb

 

SMTP_REMOVE_RECEIPT_REQUEST='no' # remove external receipt request: yes or no

 

#------------------------------------------------------------------------------

# smtp: local domains

#------------------------------------------------------------------------------

 

SMTP_LOCAL_DOMAIN_N='3' # number of local domains

SMTP_LOCAL_DOMAIN_1='@' # 1. local domain, @ means SMTP_HOSTNAME

SMTP_LOCAL_DOMAIN_2='localhost' # 2. local domain

SMTP_LOCAL_DOMAIN_3='firma.de' # 3. local domain

 

#------------------------------------------------------------------------------

# smtp: relay to domains

#

# Optional:

# The folllowing setting specify domains for which your host is an incoming

# relay. If you are not doing any relaying, you should leave the list empty.

# However, if your host is an MX backup or gateway of some kind for some

# domains, you must set SMTP_RELAY_TO_DOMAIN_x to match those domains.

#------------------------------------------------------------------------------

 

SMTP_RELAY_TO_DOMAIN_N='0' # domains for which we are incoming relay

SMTP_RELAY_TO_DOMAIN_1='domain.de'

 

#------------------------------------------------------------------------------

# smtp: relay from hosts

#

# The following settings specify hosts that can use your host as an

# outgoing relay to any other host on the Internet. Such a setting

# commonly refers to a complete local network as well as the localhost.

#------------------------------------------------------------------------------

 

SMTP_RELAY_FROM_HOST_N='2' # hosts/nets from we accept outgoing mails

SMTP_RELAY_FROM_HOST_1='127.0.0.1'

SMTP_RELAY_FROM_HOST_2='10.0.0.0/24'

 

#------------------------------------------------------------------------------

# smtp: server authentication

#

# Optional:

# Set the type of server authentication.

# none - no authentication

# user - each user authenticates himself by his username/password

# server - all users authenticate themself by sending a global user/pass

#------------------------------------------------------------------------------

SMTP_AUTH_TYPE='user' # authentication: none, user, server

SMTP_AUTH_USER='' # if server: global username, else empty

SMTP_AUTH_PASS='' # if server: global password, else empty

 

#------------------------------------------------------------------------------

# smtp: smarthosts

#

# Optional:

# Send all outgoing messages to a smarthost (e.g. mail server of your isp).

#------------------------------------------------------------------------------

 

SMTP_SMARTHOST_ONE_FOR_ALL='yes' # use one smarthost for all accounts:

# if 'yes', the first entry will be read

# if 'no', user specific entries will be used

SMTP_SMARTHOST_DOMAINS='' # if SMTP_SMARTHOST_ONE_FOR_ALL='yes'

# then use it only for these domains

# (separated by ':')

SMTP_SMARTHOST_ROUTE_TYPE='domain' # if SMTP_SMARTHOST_ONE_FOR_ALL='no'

# then how to select

# smart host: by sender mail 'addr'ess

# or destination 'domain'

SMTP_SMARTHOST_N='1' # number of smarthost entries

SMTP_SMARTHOST_1_HOST='smtp.1und1.com' # smart host to send mail to,e.g.

# mail.gmx.net

SMTP_SMARTHOST_1_AUTH_TYPE='plain' # 'none', 'plain', 'login', 'md5' or

# 'msn'

SMTP_SMARTHOST_1_ADDR='' # if SMTP_SMARTHOST_ROUTE_TYPE='addr':

# sender

# mail address

SMTP_SMARTHOST_1_DOMAIN='' # if SMTP_SMARTHOST_ROUTE_TYPE='domain':

# destination domain

SMTP_SMARTHOST_1_USER='pt123456-1234' # if authentication required: username

SMTP_SMARTHOST_1_PASS='Your_Password' # if authentication required: password

SMTP_SMARTHOST_1_FORCE_AUTH='yes' # set to 'yes' to allow only

# authenticated connections

SMTP_SMARTHOST_1_FORCE_TLS='no' # set to 'yes' to allow

# only secure connections

#------------------------------------------------------------------------------

# smtp: aliases

#

# Here you can specify aliases

#

# General format:

# SMTP_ALIASES_x_ALIAS_y='name: user1[,user2,...]

#

# Example:

# SMTP_ALIASES_N='2'

# ...

# SMTP_ALIASES_2_DOMAIN='2nd.local.lan'

# SMTP_ALIASES_2_ALIAS_N='1'

# SMTP_ALIASES_2_ALIAS_1='frank: fm,foo@otherwhere.com'

#

# Mails to frank@domain.de will be delivered to local user fm and to

# user foo@otherwhere.com.

#------------------------------------------------------------------------------

SMTP_ALIASES_N='1' # number of domains: default: 1

SMTP_ALIASES_1_DOMAIN='' # domain name: will only be read if

# SMTP_ALIASES_N > 1

# and not SMTP_ALIASES_1_DOMAIN

SMTP_ALIASES_1_ALIAS_N='13' # number of aliases of 1. domain

SMTP_ALIASES_1_ALIAS_1='root: max' # 1. alias of 1. domain must

# be for user 'root'!

SMTP_ALIASES_1_ALIAS_2='mm: max' # 2. alias of 1. domain

SMTP_ALIASES_1_ALIAS_3='max.mustermann: max' # 3. alias of 1. domain

SMTP_ALIASES_1_ALIAS_4='hans.mustermann: hans' # 4. alias of 1. domain

SMTP_ALIASES_1_ALIAS_5='hm: hans' # 5. alias of 1. domain

SMTP_ALIASES_1_ALIAS_6='em: emil' # 6. alias of 1. domain

SMTP_ALIASES_1_ALIAS_7='emil.mustermnann: emil' # 7. alias of 1. domain

SMTP_ALIASES_1_ALIAS_8='erna.mustermann: erna' # 8. alias of 1. domain

SMTP_ALIASES_1_ALIAS_9='em: erna' # 9. alias of 1. domain

SMTP_ALIASES_1_ALIAS_10='andi.mustermann: andi' # 10. alias of 1. domain

SMTP_ALIASES_1_ALIAS_11='am: andi' # 11. alias of 1. domain

SMTP_ALIASES_1_ALIAS_12='lisa.mustermann: lisa' # 12. alias of 1. domain

SMTP_ALIASES_1_ALIAS_13='lm: lisa' # 13. alias of 1. domain

 

#------------------------------------------------------------------------------

# smtp: outgoing addresses

#

# Here you can specify an address translation table which is only available

# if SMTP_SMARTHOST_N has been set to a value greater than 0.

#

# General format:

# SMTP_OUTGOING_ADDRESSES_x='name: email address'

#

# Example:

# SMTP_OUTGOING_ADDRESSES_1='fm: frank@domain.de'

#

# Mail from local user 'fm' will be delivered by using sender address

# 'frank@domain.de'.

#------------------------------------------------------------------------------

SMTP_OUTGOING_ADDRESSES_N='0

SMTP_OUTGOING_ADDRESSES_1=''

SMTP_OUTGOING_ADDRESSES_2=''

#------------------------------------------------------------------------------

# smtp: incoming addresses

# Example:

# SMTP_HEADER_REWRITE_1_SOURCE='*@home.lan'

# SMTP_HEADER_REWRITE_1_DESTINATION='$1@domain.de'

# SMTP_HEADER_REWRITE_1_FLAGS='sF'

# The envelope from address and the sender of an incoming smtp mail from

# user 'frank@home.lan' will be rewritten to 'frank@domain.de'

#------------------------------------------------------------------------------

SMTP_HEADER_REWRITE_N='0' # number of rewrite rules

SMTP_HEADER_REWRITE_1_SOURCE='*@home.lan' # search mask

SMTP_HEADER_REWRITE_1_DESTINATION='valid@domain.de' # replace string

SMTP_HEADER_REWRITE_1_FLAGS='sF' # what to rewrite

#------------------------------------------------------------------------------

# smtp: mailing lists

# Here you can specify simple mailing lists

# Explanation of example below:

# A mail to 'eisfair@domain.de' will be delivered to all members in the list.

# The reply address will be changed to 'eisfair@domain.de'!

#------------------------------------------------------------------------------

#no mailing list

#------------------------------------------------------------------------------

# exiscan: virus scanning

# Here you can specify an additinal antivirus scanner Please make sure

# that you have installed a antivirus software prior you enable these feature.

#------------------------------------------------------------------------------

# exiscan nicht aktiviert

#------------------------------------------------------------------------------

# mail: send warning if TLS certificates will become invalid

#------------------------------------------------------------------------------

MAIL_CERTS_WARNING='yes' # send certs warning: yes or no

MAIL_CERTS_WARNING_SUBJECT='TLS certificates warning' # subject of warning mail

MAIL_CERTS_WARNING_CRON_SCHEDULE='3 1 1,16 * *' # cron configuration string

#------------------------------------------------------------------------------

# mail: send exim statistics

#------------------------------------------------------------------------------

MAIL_STATISTICS_INFOMAIL='no' # send statistics infomail: yes or no

MAIL_STATISTICS_INFOMAIL_SUBJECT='Mail server statistics' # subject of infomail

MAIL_STATISTICS_INFOMAIL_CRON_SCHEDULE='6 7 * * *' # cron configuration string

#------------------------------------------------------------------------------

# mail: log handling

# Here you can specify how many logs should be saved and in with interval.

# Example:

# MAIL_LOG_COUNT='10' - save the last 10 log files

# MAIL_LOG_INTERVAL='daily' - save one log file per day

#------------------------------------------------------------------------------

MAIL_DO_DEBUG_='no'

MAIL_LOG_COUNT='10' # number of log files to save

MAIL_LOG_INTERVAL='weekly' # interval: daily, weekly, monthly

#------------------------------------------------------------------------------

# End

#------------------------------------------------------------------------------

 

Vielen Dank an Jürgen Edner der mir meine Fragen im eisfair usenet beantwortet hat. Auch der oft benutzte Spruch zeigt sich bei Eisfair:

"Dies Software kostet nichts ist aber nicht umsonst". Das bedeutet vor allem für Anfänger man sollte viel Zeit einplanen und grundlegende Netzwerk-Kenntnisse besitzen bzw. sich aneignen.

 

Sebastian Proksch