|
Mailverkehr im LANDamit alle Personen (Rechner) des LAN Mails verschicken und
empfangen können muß Sendmail konfiguriert werden und es müssen folgende Einstellungen vorgenommen werden:
- Anlegen des jeweiligen Nutzers auf dem Linux-Rechner, falls das noch nicht geschehen ist, d.h. jeder LAN Nutzer, der Mails empfangen möchte, muß auf dem Linux-Rechner ein Login besitzen.
- Hinzufügen des Paketes
pop aus der Serie n.
Dieses Paket beinhaltet u.a. den POP3-Server popper, welcher das Abholen von Mails über das POP3-Protokoll ermöglicht und dieses Paket enthält auch das Programm
fetchmail, was benötigt wird, um Mails von verschiedenen Mailservern abzuholen und auf dem Linux-Rechner an die entsprechenden Benutzer zu verteilen.
Manuelle Konfiguration des Sendmail Wenn die Sendmail-Konfigurationsdatei automatisch mit SuSEconfig erzeugt wird, wird automatisch die access Kontrolle des Sendmail (Datei /etc/mail/access) mit
eingebunden bzw. aktiviert. Wenn das Access-Feature aktiviert ist, ist zu beobachten, daß der Linux-Rechner einen Anwahlversuch unternimmt, wenn von einem Windows-Rechner aus eine Mail an eine nicht lokale
E-Mail-Adresse geschickt werden soll. Um dies zu verhindern, muß Sendmail manuell konfiguriert werden. In der Datei /etc/rc.config ist SENDMAIL_TYPE=“no“ zu setzen, damit SuSEconfig beim nächsten Ausführen
nicht wieder automatisch unsere eigene /etc/sendmail.cf überschreibt. Legen Sie in /etc/mail eine Datei für die neue Sendmail-Konfiguration mit folgendendem Inhalt, z.B. snoopy.mc, an (einige Einstellungen müssen noch auf Ihr System angepaßt werden):
Hilfe dazu gibt es u.a. unter /usr/share/sendmail/README oder im Handbuch.Datei /etc/snoopy.mc include(`/usr/share/sendmail/m4/cf.m4') VERSIONID(`linux setup for SuSE') OSTYPE(`linux')
define(`STATUS_FILE', `/var/log/sendmail.st') define(`confDEF_USER_ID', `daemon:daemon') define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail') define(`confCOPY_ERRORS_TO', `Postmaster')
define(`confDIAL_DELAY', `3s') define(`confPRIVACY_FLAGS', `novrfy,noexpn') define(`confUSERDB_SPEC', `/etc/mail/userdb.db') define(`confTRUSTED_USERS', `mdom wwwrun') define(`SMART_HOST', `smtp:
mail.server.de’) Hier Ihr smtp Mailserver einzutragen, an den die nicht lokalen Mails gesendet werden. In unserem Fall ist es smtp.meissen.net.
Identisch mit dem SENDMAIL_SMARTHOST Eintrag in der Datei /etc/rc.config. FEATURE(`nocanonify') Identisch mit SENDMAIL_NOCANONIFY=“yes“ define(`confHOSTS_FILE', `/etc/hosts') FEATURE(`always_add_domain')
FEATURE(`local_procmail') FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db') FEATURE(`genericstable', `hash -o /etc/mail/genericstable.db') FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')
MAILER(`local') MAILER(`smtp') define(`confCW_FILE', `/etc/mail/sendmail.cw') FEATURE(use_cw_file) FEATURE(`nouucp') define(`confBIND_OPTS', `-DNSRCH -DEFNAMES') define(`confTO_IDENT', `0s')
FEATURE(`promiscuous_relay') Erlaubt allen anderen Rechnern Mails über den Linux-Rechner zu senden. define(`confCON_EXPENSIVE', `True') FEATURE(`accept_unresolvable_domains') FEATURE(`accept_unqualified_senders') define(`SMTP_MAILER_FLAGS',`e') Diese letzten vier Einstellungen sind identisch mit
SENDMAIL_EXPENSIVE=“yes“ MASQUERADE_AS(`ssm.meissen.net') FEATURE(`masquerade_envelope') Diese beiden Zeilen sind identisch mit FROM_HEADER=“ssm.meissen.net“ aus /etc/rc.config. Dieser wird vom Sendmail verwendet, falls dieser nicht schon vom Mailprogramm
automatisch generiert wird.Mit dem Befehl m4 /etc/mail/snoopy.mc >/etc/sendmail.cf
wird eine gültige Sendmail-Konfigurationsdatei erzeugt, dabei wird eine eventuell schon vorhandene /etc/sendmail.cf überschrieben. Jetzt kann Sendmail mit rcsendmail stop
bzw. start wieder neu gestartet werden. Falls Sendmail keine /etc/mail/sendmail.cw vorfindet, muß sie von Hand mit dem Befehl touch
/etc/mail/sendmail.cw
angelegt werden und Sendmail muß danach ebenfalls neu gestartet werden (in dieser Datei sind die Hostnamen enthalten, die als lokal anzusehen sind, bleibt aber in unserem Fall leer).Um Sendmail lokal zu
testen, schreiben Sie am Linux-Rechner jetzt einmal eine Test-Mail an einen Benutzer auf dem Linux-Rechner: Als Nutzer jt:
mail root Subject: Test Das ist ein Sendmail Test .Der einzelne Punkt signalisiert dem Mail-Programm das Ende der Mail. Nachdem Sie den einzelnen Punkt eingegeben und Return
gedrückt haben wird die Mail versendet. Jetzt überprüft Sendmail, ob die Mail lokal ausgeliefert werden kann, und da dies der Fall ist, wird die Mail sofort an root gesendet. Root bzw. der Benutzer, an den
die Mail gesendet wurde, bekommt nun die Nachricht: „You have new mail in /var/spool/mail/root“. Nun gibt root das Kommando mail ein und kann diese Mail lesen, indem die entsprechende Nummer eingegeben wird. Das Mail-Programm kann mit „q“ wieder beendet werden.Als nächstes sollte das
Versenden einer Mail nach außen getestet werden. Schreiben Sie eine Mail an eine nicht lokale Mail-Adresse (es sollte auf jeden Fall eine E-Mail-Adresse sein, wo Sie die Testmail dann auch lesen können, da die
Mail-Header überprüft werden müssen). mail jt@meissen.net Subject: Test Und noch ein Test .Jetzt überprüft Sendmail, ob es sich um eine lokale Mail-Adresse handelt, da dies aber jetzt nicht der Fall ist, wird die Mail in /var/spool/mqueue/
zwischengelagert, bis ein sendmail –q ausgeführt wird. In
/var/spool/messages
dürften jetzt keine Anwahlversuche zu sehen sein (falls doch, dann überprüfen Sie Ihre Sendmail-Konfiguration). In der Datei /var/log/mail können Sie die Sendmail aktivitäten beobachten. Bei lokaler Auslieferung :
Jan 7 15:54:44 snoopy sendmail[2915]: starting daemon (8.9.3): SMTPJan 7 15:55:30 snoopy sendmail[2931]: PAA02931: from=jt, size=31, class=0, pri=30031, nrcpts=1,
msgid=<200001071455.PAA02931@snoopy.ssm.meissen.net>, relay=jt@localhost Jan 7 15:55:31 snoopy sendmail[2933]: PAA02931: to=root, ctladdr=jt (501/100), delay=00:00:01, xdelay=00:00:00,
mailer=local, stat=Sent Es u.a. zu erkennen, daß die Mail erfolgreich (stat=Sent) mit dem lokalen Mailer (mailer=local) versendet wurde.Mail an eine nicht lokale Adresse: Jan 7 15:58:25 snoopy sendmail[2968]: PAA02968: from=jt, size=41, class=0, pri=30041, nrcpts=1,
msgid=<200001071458.PAA02968@snoopy.ssm.meissen.net>, relay=jt@localhost Jan 7 15:58:25 snoopy sendmail[2968]: PAA02968: to=jt@meissen.net, delay=00:00:00, mailer=smtp, stat=queued Hier erkennt man, daß die mail zwischengespeichert wurde (stat=queued) und später mit dem Mailer smtp (der in der Sendmail-Konfiguration eingetragen ist)
versendet wird.Falls Sie Einträge in den /etc/mail/ Dateien (genericstable, mailertable, userdb oder virtusertable) ändern, müssen Sie danach das Skript /sbin/conf.d/SuSEconfig.sendmail ausführen, wodurch
die dazugehörigen Datanbanken dieser Dateien aktualisiert werden. Die Datei /etc/mail/access wurde in unserer Konfiguration aus dem genannten Grund deaktiviert. Mailverkehr im LAN testen Dazu kann auf den Windows-Rechnern z.B. das Programm Outlook-Express
genutzt werden. Als E-Mail-Adresse geben Sie dort Ihre öffentliche E-Mail-Adresse ein (also nicht die im LAN) z.B. Ihre Adresse bei T-Online. Die Mails, die an diese Adresse gehen, werden später mit fetchmail abgeholt
und auf dem Linux-Rechner abgelegt. Als Posteingangsserver tragen Sie den Linux-Rechner ein und als Postausgangsserver ebenfalls diesen (Bild: 11). |
|
Password: das entsprechende Paßwort für diesen Nutzer auf dem Server (das Paßwort wird unverschlüsselt abgelegt) Local names: hier die Nutzerkennung des entsprechenden Nutzers auf dem Linux-Rechner anzugeben.Ok wählen,
jetzt könnten noch weitere User von pop.meissen.net hinzugefügt werden, Ok wählen, jetzt könnten noch weitere Server hinzugefügt werden,
Save wählen, um die Konfiguration abzuspeichern, Quit um fetchmailconf zu beenden. In unserem Fall werden jetzt beim Aufruf von fetchmail die Mails, die auf dem dem POP3-Server pop.meissen.net unter dem dortigem
Account meissen.net%jt liegen, an den Benutzer jt auf unserem Linux-Rechner übertragen. Dort liegen diese Mails bis sie z.B. mit Outlook-Express per POP3 abgeholt werden. Um fetchmail automatisch zu starten, wenn der Linux-Rechner Online ist, muß die entsprechende Zeile in der Datei /etc/ppp/ip-up aktiviert werden: /etc/ppp/ip-up (im ip-up Teil):
# maybe you want to start mail services: # set follow variables in /etc/rc.config # SENDMAIL_TYPE="yes" # SENDMAIL_SMARTHOST="<ISP-mailserver>"
# SENDMAIL_ARGS="-bd -om" # SENDMAIL_EXPENSIVE="yes" # SENDMAIL_NOCANONIFY="yes" /usr/bin/fetchmail -a -v >>/var/log/fetchmail 2>&1 & /usr/sbin/sendmail -q & Anstelle des Parameters –a (alle Mails übertragen, auch ältere) kann bei Bedarf der Parameter –k (keep messages on server, d.h. Mails nicht vom Server löschen) angegeben
werden damit in der Testphase keine wichtigen Mails gelöscht werden. Die Log-Datei für fetchmail ist /var/log/fetchmail.Zum Testen von Fetchmail muß auf dem entsprechenden Account, bei dem Fetchmail Mail abholen soll, eine Mail vorhanden sein. Gehen Sie Online und betrachten Sie das
Logfile /var/log/fetchmail. /var/log/fetchmail: fetchmail: 5.0.3 querying pop.meissen.net (protocol POP3) at Thu, 20 Jan 2000 07:55:12 +0100
(CET) fetchmail: POP3< +OK Cubic Circle's v1.31 1998/05/13 POP3 ready <7b5300002daf8638@pu> fetchmail: POP3> USER meissen.net%jt fetchmail: POP3< +OK meissen.net%jt selected fetchmail: POP3> PASS * fetchmail: POP3< +OK Congratulations!
fetchmail: POP3> STAT fetchmail: POP3< +OK 1 2223 1 message for meissen.net%jt at pop.meissen.net (2223 octets). fetchmail: POP3> LIST fetchmail: POP3< +OK 1 messages (2223 octets)
fetchmail: POP3< 1 2223 fetchmail: POP3< . fetchmail: POP3> RETR 1 fetchmail: POP3< +OK 2223 octets reading message 1 of 1 (2223 octets) fetchmail: SMTP< 220 tweety.ssm.meissen.net ESMTP
Sendmail 8.9.3/8.9.3; Thu, 20 Jan 2000 07:55:16 +0100 fetchmail: SMTP> EHLO localhost fetchmail: SMTP< 250-tweety.ssm.meissen.net Hello root@localhost [127.0.0.1], pleased to meet you
fetchmail: SMTP< 250-8BITMIME fetchmail: SMTP< 250-SIZE fetchmail: SMTP< 250-DSN fetchmail: SMTP< 250-ONEX fetchmail: SMTP< 250-ETRN fetchmail: SMTP< 250-XUSR
fetchmail: SMTP< 250 HELP fetchmail: SMTP> MAIL FROM:<info@hagenlocher.com> BODY=8BITMIME SIZE=2223 fetchmail: SMTP< 250 <info@hagenlocher.com>... Sender ok
fetchmail: SMTP> RCPT TO:<jt@localhost> fetchmail: SMTP< 250 <jt@localhost>... Recipient ok
Hier erkennt man, daß diese Mail an den User jt weitergeleitet wurde. fetchmail: SMTP> DATA
fetchmail: SMTP< 354 Enter mail, end with "." on a line by itself #****************************.******fetchmail: SMTP>. (EOM) fetchmail: SMTP< 250 HAA03614 Message accepted for delivery flushed
fetchmail: POP3> DELE 1 fetchmail: POP3< +OK Message 1 deleted fetchmail: POP3> QUIT fetchmail: POP3< +OK Was it as good for you, as it was for me? (clean as a baby) |
|