Re: sendmail: localhost als smart host

From: Marc Santhoff <M.Santhoff(at)web.de>
Date: Wed, 13 Oct 2010 23:58:34 +0200

Am Mittwoch, den 13.10.2010, 01:08 +0200 schrieb Bernd Walter:
> On Tue, Oct 12, 2010 at 07:51:23PM +0200, Marc Santhoff wrote:
> > Am Dienstag, den 12.10.2010, 11:22 +0200 schrieb Bernd Walter:
> > > On Tue, Oct 12, 2010 at 07:27:04AM +0200, Marc Santhoff wrote:
> > > > Moin allerseits,
> > > >
> > > > ich kann es der Dokumentation nicht entnehmen:
> > > >
> > > > Kann man sendmail als "smart host" auch den Rechner benennen, auf dem es
> > > > selbst läuft?
> > > >
> > > > Natürlich dann mit einem anderen Port als 25, also etwa
> > > >
> > > > define(`SMART_HOST', `localhost:2525')
> > > >
> > > > in /etc/mail/sendmail.cf, funktioniert das so?
> > >
> > > Ich habe smarthost noch nie benutzt - bringt IMHO keine Vorteile
> > > zu einer mailertable, die wesentlich flexibler ist.
> > > Per mailertable kannst du den Mailer definieren über welchen die
> > > Mail raus soll und im Mailer wird der Port definiert.
> > > Du must daher den esmtp-mailer kopieren und mit anderem Namen und
> > > anderen Port zusätzlich anlegen, welchen du dann per mailertable
> > > für '.' benutzt.
> >
> > Ich hatte mir die Doku zu "mailertable" irgendwann schonmal
> > durchgelesen, war aber nicht richtig schlau draus geworden.
>
> Als "smarthost" brauchst du normalerweise nur eine Zeile:
> . smtp:[mein.smarthost.sample]
>
> '.' ist dabei der Zieldomainname, was Subdomains einschließt, wenn der
> mit '.' beginnt.
> Für Domains inklusive aller subs muss man ggfs. zwei Einträge machen:
> foo.sample smtp:[mail.foo.sample]
> .foo.sample smtp:[mail.foo.sample]

Sieht ja nicht so wild aus, ich muß aber trotzdem nochmal tief in die
Dokumentation waten, damit ich weiß, was ich tue.

> > Werde ich nachholen, ich hatte damals schon den Eindruck, daß damit die
> > Aufgabe zu lösen ist.
> >
> > > localhost wird dafür aber auch nicht funktionieren, weil er das ja
> > > selber ist.
> >
> > S.u. sollte schon.
>
> MTAs mögen im Regelfall keine Selbstgespräche.

Kommt also auf einen Test an, ob generell Fehlermeldungen o.ä. beim
Benutzen von localhost(:xxxx) auftreten.

> Allerdings hat Oli bezüglich MSA natürlich recht - das vergesse ich
> gerne schon mal.
> MSA ist auch der wesentliche Punkt, den du beachten musst, wenn du
> von einer 99'er config kommst.
> Angenommen du hast ein aktuelles FreeBSD, also auch aktuelle
> Startscripte.

Ja.

> Dann hast du eine xxx.mc für den MTA und eine xxx.submit.mc.
> Die alten M4-Makros musst du aufteilen, weil manche in die submit
> gehören, vor allem die Trusted User-Sachen.
> Der Rest wird fasdt immer durch das M4-Zeugs gemacht, solange man
> keine Exotischen Dinge gemacht hat jedenfalls.
> Die aktuellere Startscripte starten auch die notwendigen Daemon-Prozesse,
> was sich gegenüber früher geändert hat - man startet jetzt zwei,
> Diese Lösung hätte für mich den Vorteil, die funktionierende
> > Konfiguration nur minimal oder garnicht ändern zu müssen. ;)
>
> einen für MTA und einen für MSA.

Okay, ist mit im Plan.

Du weißt nicht zufällig, ob es für FreeBSD ein ausführliche Doku dazu
gibt? Ich meine jetzt eine Art How-To, natürlich wühle ich mich bei
Bedarf durch /etc/defaults/rc.conf und was es sonst noch gibt.

> > > Du musst eine weitere IP auf das Loopback konfigurieren - der
> > > 127-Bereich ist ein /8, also groß genug für viele lokale Einzel-IPs.
> > > define(`confDONT_PROBE_INTERFACES', `True') sollte Pflicht sein,
> > > damit der die neue IP nicht auch für sich selber hält.
> > > Da du nun sowieso eine andere IP verwendest erübrigt sich im Gegenzug
> > > auch wieder die Sache mit dem Extra-Port, sofern du die IPs einzeln
> > > definierst:
> > > DAEMON_OPTIONS(`Name=MTA1-v4, Family=inet, Addr=1.2.3.4')dnl
> > > DAEMON_OPTIONS(`Name=MTA1l-v4, Family=inet, Addr=127.0.0.1')dnl
> > > DAEMON_OPTIONS(`Name=MTA1l-v6, Family=inet6, Addr=::1')dnl
> >
> > Pffft - wie lange muß man eigentlich damit zu tun haben, bis einem nicht
> > mehr der Kaffee hochkommt? ;)
>
> M4 muss man nicht mögen, aber ich finde das jetzt auch nicht sonderlich
> problematisch.
> Sendmail ist nicht das einzige, wo ich mit M4 zu tun habe.
> GNU PCB hat auch viel mit M4-Macros rumgemacht.

O.K., M4 ist nicht so schlimm, aber in Kombination mit Sendmail und den
ganzen Einstellungen, Begriffen (die man als E-Mail-Nutzer eigentlich
nicht kennen muß) und dann noch weiterführenden Feinheiten wie z.B. DNS
und was sonst noch ist das für mich schon ein ziemlicher Berg, den es da
zu überwinden gilt. Geht nicht mal eben nebenbei ...

> > Naja, ich mach's ja nicht hauptberuflich ...

... sonst wäre das wohl einfacher. ;)

> > > Sehr viel eleganter ist das alles aber mit Jails.
> > > Da muss man dem Sendmail nicht extra etwas spezielles beibringen,
> > > weil der die anderen IPs nicht sieht.
> > > Zudem braucht man keine besonderen Startscripte zu basteln, um
> > > mehrere Sendmail-Instanzen mit verschiedenen Konfigurationen zu
> > > starten.
> >
> > Stimmt auch, Jails sind tatsächlich eine Alternative. :)
> >
> > > Was willst du damit überhaupt erreichen?
> > > Solche Konstrukte sind in der Regel nicht sehr Wartungsfreundlich
> > > und oftmals vermeidbar.
> >
> > Ich muß einen Mailserver erneuern und will dabei gleich die
> > Konfiguration von 1999 oder so ein bischen auftoupieren. Oder
> > glattbürsten, je nachdem.
> >
> > Meine spontane Idee war, Einlieferung von Mail nach Absenderadresse bei
> > mehreren Mailkonten einer Person (bzw. auch zwei bis drei) zu
> > realisieren, indem ich hinter den sendmail einfach eSMPT (das Programm
> > aus den Ports, nicht das erweiterte Protokoll) klemme, in Reihe
> > geschaltet sozusagen, weil eSMTP die auf Port 25 eingehenden Mails per
> > Konfiguration dem passenden Rechner beim jeweiligen Provider übergeben
> > kann. Also *@web.de auch bei smtp.web.de einliefern, usw.
>
> Ah - ich erinnere mich dunkel an deine Situation - da ging es auch
> um Absenderanhängigkeiten, oder so!?
> mailertable ist Zieladressen-basiert, aber du kannst natürlich leicht
> per Mailertable an so einen "smarthost" zustellen:
> . smtp:[127.0.0.2]
> Die .2 ist dabei Absicht, um den normalen localhost zu meiden, welchen
> man dem Sendmail der einfachheit halber besser nicht wegklaut.
> Das kannst du auch ohne mailertable machen, aber mag mich nicht
> an etwas anderes gewöhnen, zumal ich die eh sehr oft gezielt brauche.

Ah ja, und wenn Mailtertable(s) allein das nicht zu leisten vermögen
klemme ich halt den eSMTP auf diese IP, verstehe. :)

> > Der sendmail dazwischen dient eigentlich nur dazu, das Queueing zu
> > realisieren, da die Leitung nach draußen nicht immer zur Verfügung steht
> > und ich darauf nicht verzichten möchte.
>
> Der MSA queued auch bereits.
> mailq -Ac für MSA
> mailq für MTA

Mal gucken, ob ich den MTA dann überhaupt noch brauche ...

Wenigstens habe ich bei der Sache genug Zeit, die neue Hardware ist noch
nicht hier und wird dann erstmal zum Testen zur Verfügung stehen.

Vielen Dank erstmal an alle, wenn ich mit Lesen und Testen soweit bin
kann ich ja nochmal nachfragen. ;)

-- 
Marc Santhoff <M.Santhoff(at)web.de>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 13 Oct 2010 - 23:57:09 CEST

search this site