Hi..
Folgendes Tutorial beschreibt, wie man sendmail richtig von Hand konfiguriert.
Vorraussetzung dafür ist, dass Confixx sich nicht mehr in die sendmail-Geschichten einmischt, man sollte also wenigstens die beiden vorinstallierten CronJobs entfernen, bzw. Confixx gleich deinstallieren.
Zu allererst befassen wir uns etwas mit dem Thema Sicherheit.
1&1 selbst erfordert beim eMail-Versand der Shared-Webhosting-Kunden SMTP-AUTH. Das selbe wollen wir hier nun auch machen:
Man sollte sich also zuallererst dieses Paket installieren, was auch kein Hexenwerk ist:
1. Sendmail beenden:
Code: Select all
rcsendmail stopCode: Select all
rpm -e --nodeps sendmailCode: Select all
wget http://update.pureserver.de/suse/7.2/suse/sec1/cyrus-sasl.rpm
wget http://update.pureserver.de/suse/7.2/suse/sec2/sendmail-tls.rpmCode: Select all
rpm -U cyrus-sasl.rpm
rpm -U sendmail-tls.rpmCode: Select all
pwcheck_method: pamCode: Select all
...
C{TrustAuthMech}LOGIN PLAIN
O AuthMechanisms=LOGIN PLAIN
...7. Damit nun beim Start von SuSEconfig die Datei /etc/sendmail.cf nicht überschrieben wird, sollten man in der Datei /etc/rc.config.d/sendmail.rc.config den folgenden Eintrag ändern:
Code: Select all
SENDMAIL_TYPE="yes"Code: Select all
SENDMAIL_TYPE="no"Code: Select all
rcsendmail startDamit hat man sich sendmail mit SMTP-AUTH installiert.
Die weiteren Schritte sind eigentlich ganz einfach. Man muss lediglich 3 Dateien editieren:
/etc/mail/virtusertable
Hier kommen die eMail-Adressen an sich hinein.
/etc/mail/access
Hier steht drin, wie sendmail die eMails von bestimmten Domains behandeln soll.
/etc/mail/sendmail.cw
Hier stehen die Domains drin, die von sendmail akzeptiert werden sollen.
Konfiguration /etc/mail/virtusertable:
Man trägt einfach die eMail-Adresse und den damit verknüpften Systemuser ein:
Code: Select all
emailadresse1@domain1.tld user1
emailadresse2@domain2.tld user2
...Als HomeDirectory sollte /XXXnirvanaXXX angegeben werden, also ein Nonsens Directory.
Als Gruppe gibt man hier poponly an.
Wenn ein ShellUser eine eMail-Adresse haben soll ist das auch nicht weiter tragisch, man belässt einfach alle Einstellungen des Users.
Konfiguration /etc/mail/access:
Hier werden nur die Domainnamen eingetragen, von denen sendmail eMails akzeptieren, weiterleiten, verbieten oder löschen soll.
Standardmäßig ist hier
Code: Select all
127 RELAYsendmail verteilt also über den localhost alle eingehenden und ausgehenden eMails.
Nun trägt man einfach noch die Domains ein, die ebenfalls akzeptiert werden sollen:
Code: Select all
domain1.tld OK
domain2.tld OKCode: Select all
REJECT -> Weist ankommende eMails von dieser Domain ab
DISCARD -> Die eMails von dieser Domain werden gelöschtCode: Select all
aol.com 550 Dieser Server erlaubt keine eMails von AOL.
Fehlernummer - Text, der zurückgegeben wird.Alle Domains, von denen aus eine eMail verschickt werden darf, werden in diese Datei eingetragen:
Code: Select all
domain1.tld
domain2.tldDamit wars das eigentlich auch schon.
Wenn man eine neue eMail-Adresse anlegt oder eine neue Domain auf den Server legt, so müssen diese natürlich in den entsprechenden Dateien eingetragen werden.
Danach muss die jew. Steuerungsdatei (*.db) neu geschrieben werden.
Code: Select all
makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
makemap hash /etc/mail/access < /etc/mail/accessIch habe dafür zusätzlich noch 2 CronJobs eingefügt:
Code: Select all
*/5 * * * * /usr/sbin/makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
*/5 * * * * /usr/sbin/makemap hash /etc/mail/access < /etc/mail/accessWer noch Fragen hat, hier seid Ihr richtig :)