postfix nur im lokalen Netz nutzen

Started by bluelupo, 2012/07/05, 13:45:41

Previous topic - Next topic

bluelupo

Hallo zusammen,
ich möchte den Mailer postfix in meinen lokalen Netz nutzen, haupztächlich zum Versand von Mails die via Bashscripte von Cronjobs angestoßen werden. Postfix soll aber nicht die Mails der User von den jeweiligen Notebooks versenden, das soll weiterhin kmail (via IMAP) erledigen.

Der lokale Versand auf jeder Kiste von eMails mit Kommandozeilentool mailx funktioniert soweit. Nun will ich aber postfix so konfigurieren, das jeder NB via mailx an jeden anderen lokalen Client Mails senden und empfangen kann.

Postfix soll nicht mit dem Internet kommunizieren, nur rein im lokalen Netz agieren. Also keine Mails von und zum Provider-Mailserver weitergeben. Domain- und Hostname auf den jeweiligen NB sind korrekt konfiguriert.


root@redfox:~# hostname
redfox

root@redfox:~# hostname -d
homezone.net

root@redfox:~# hostname -f
redfox.homezone.net

Ist so etwas überhaupt machbar? Wenn ja wo gibt es da ein entprechendes HowTo?

Was muss ich an der Konfiguration von Postfix in /etc/postfix/main.cf alles anpassen?

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = redfox
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = redfox, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
default_transport = error
relay_transport = error


Die /etc/hosts sieht so aus (Auszug):

127.0.0.1         localhost
192.168.178.49    redfox.homezone.net      redfox
192.168.178.40    sid.homezone.net         sid


EDIT: Die Beispiele auf postfix.org passen so nicht auf meine Anforderung http://www.postfix.org/STANDARD_CONFIGURATION_README.html

cryptosteve

Moin bluelupo,

also zunächst mal .... Mailversand via IMAP geht nicht. Versand ist eher smtp. Das nur zur Begriffsklärung.

Dann kannst Du natürlich Mails im lokalen Netz versenden. Du brauchst aber auch etwas, das die Mails dann den Clients anbietet. Wie willst Du sonst Mail auf einem Notebook lesen können?

Um Mails nur aus dem LAN anzunehmen, reicht ein entsprechender Eintrag in mynetworks aus. Um die Mails nicht zum Provider rauszusenden solltest Du nur Mails annehmen, die auch fürs LAN gedacht sind (kein Relayhost definieren, kein Relaying zulassen).

Trotzdem bin ich insgesamt nicht so sicher, ob das für Deine Zwecke nicht etwas oversized ist. Was genau soll denn da an Mailverkehr passieren?
- born to create drama -
CS Virtual Travel Bug: VF6G5D

bluelupo

Hi Steve,
ja das mit dem Oversized fürchte ich auch ;-)

Im Ernst, ich will folgendes für alle meine NB und PC's erreichen. Es sollen jeweils root und ein User das Senden und Empfangen via dem Kommando "mailx" möglich sein. Weiterhin sollen alle Anwender auf allen NB wie gewohnt über kmail ihre Mails handeln können (via IMAP, das ist schon eingerichtet).

Hintergrund ist dieser, ich habe auf allen NB via Cronjob automatsiert Scripte laufen die Statusmails versenden. Die landen jetzt in der lokalen Mailqueue, das soll anders werden und jetzt auf meinen "zentralen PC" landen.

Zur Verdeutlichung hier mal das mailx-Kommando was erreichen will. Auf NB "sid" unter User michael eine Mail an User michael auf Host "redfox" (mein zentraler PC, quasi der Server) versenden.


[michael@sid]$ echo "Blabla" | mailx -s "Statusmeldung von sid" michael@redfox.homezone.net


Postfix verschickt in der momentanen Konfiguration nur Mails von lokal an lokal. Ziel soll sein das sich Postfix sich nur um die Verteilung der Mails im eigenen Netz (homezone.net) kümmern soll, alles andere soll so bleiben wie es ist. Wie muss ich den Server bzw. Clientstationen mit postfix konfigurieren.

Villeicht gibt's auch eine andere elegantere Lösung mit anderen Tools, die ich noch nicht kenne ;-)

cryptosteve

Moin bluelupo,
tja, Dein Setup ist ja in der Tat nicht ohne. Ich kann das nur theoretisch abreißen, da ich so ein Setup nie gefahren habe.

Im Prinzip ist das aber ganz simpel. Du brauchst nur einen Postfix, der auf Deine lokale Domain hört. Mails, die dort ankommen und für die es einen Alias gibt, lässt Du einfach via procmail ins Maildir schieben. Ob Postfix auch direkt ins Maildir schieben kann, weiss ich jetzt gar nicht. procmail bietet darüber hinaus aber auch noch diverse andere (Filter-)vorteile.

Und wenn Du die Mails dann noch komfortabel lesen möchtest, richtest Du Dir noch einen IMAP-Server auf dem Server ein. Dovecot ist da ziemlich einfach und schnell aufgesetzt.
- born to create drama -
CS Virtual Travel Bug: VF6G5D

bluelupo

Hi Steve,
also bei postfix kann man wahlweise mbox oder maildir konfigurieren. Ich denke mein Szenario hört sich schlimmer als es tatsächlich ist. Wie du schon oben geschrieben hast, muss postfix NUR auf die lokale Domain hören und die Mails aus dem lokalen Netz auf dem Server in die mbox oder ins maildir schieben.

Ich habe mich inzwischen auch noch ein bisschen eingelesen und es sollte machbar sein in einer stillen Sunde oder zwei ;-)

Ich will den Aufwand halt nur für die wenigen (System)Mails in einen vertretbaren Rahmen halten.

cryptosteve

Wenn Du noch Detailfragen hast, musst Du Dich mit Fakten nochmal melden. Das ganze lässt sich nur schwerlich theoretisch durchkaufen (bzw. nur sehr oberflächlich).
- born to create drama -
CS Virtual Travel Bug: VF6G5D

dieres

moin bluelupo,

hast Du dies Problem lösen können? Ich möchte bei mir gerade dasselbe realisieren. Wenn Du mir da helfen könntest, würde ich mich freuen.