[linux-l] Mail mit exim (direkt oder per smtp-auth) raussenden ?

Volker Grabsch vog at notjusthosting.com
Fr Jul 7 13:12:27 CEST 2006


On Thu, Jul 06, 2006 at 07:30:01PM +0200, Alexander Lenz wrote:
> habe hier einen Rechner, auf dem Exim 4 läuft.

me2 :-)

> Will nun von ihm aus eine Mail automatisch per cron-Skript verschicken.
> Problem ist, dass er keine feste IP hat, auch keiner domain angehoert.
> Wie gehe ich am geschicktesten vor, um z.B. vom account "boxadmin" auf 
> diesem Rechner mail an jemanden im weltweiten Netz draussen zu senden ?

Du brauchst einen Relay.

> Soll heissen, wo muss ich die Domain geeignet setzen, und kann der Rechner 
> anschließend überhaupt per SMTP raussenden, oder wird das noch beliebig 
> kompliziert ?  (Habe gehoert, O'Reillys sendmail-Buch sei 800 Seiten 
> stark..)

Die Domain brauchst du in erster Linie, wenn du Mails (per SMTP) empfangen
willst. Zu diesem Zweck kann ich DynDNS.org empfehlen (*nicht* dyndns.com),
aber das geht am Thema vorbei.

Theoretisch kannst du deinen Mailserver wie einen normalen Mailserver im
weltweiten Netz konfigurieren, aber das ist etwas aufwändig und
sollte nicht von jemanden durchgeführt werden, der sich durch
entsprechende Literatur abschrecken lässt. ;-)

Der eigentliche Grund dagegen ist aber die Tatsache, dass dynamische IPs
von vielen Mailservern blockiert werden. Es gibt richtige Blacklisten
von dynamischen IPs. Ich möchte jetzt nicht in die moralische
Diskussion einsteigen mit allen Pros und Contrs, sondern nur die Ursache
für diese Entwicklung nennen: Zombie-Rechner. Damit meine ich die zahlen
viren- und wurmverseuchten Mailschleudern, die den Spammern gute Dienste
leisten.

Solche Kisten kann man nur erfolgreich sperren, wenn sie eine feste IP
haben. Daher werden i.d.R. sämtliche dynamische IP-Bereiche der Provider
gesperrt.

Also: Kein eigener Mailserver, es sei denn, du hast ne feste IP, z.B.
nen Root-Server.

> Alternative waere wohl, sich per SMTP-Auth als Client an einem SMTP-Relay 
> anzumelden, wo ein Account besteht, z.B: smtp.gmx.net - und den anzuweisen
> die Mail an ihr Ziel zu verschicken.

Ganz genau.

Das ist grundsätzlich der empfohlene Weg für Rechner mit dynamischen IPs.
Beim Exim4, gerade unter Debian, ist es ein Leichtes, sowas einzustellen.

So funktioniert sämtlicher Mailverkehr bei mir zu Hause:
Auf meinem Laptop läuft ein Exim4, der per SMTP-Auth sich an unserem
Firmen-Mailserver (mail.notjusthosting.com) anmeldet und die Mails
raussendet.

Da ich zu Hause keine Flatrate habe, habe ich in meinem Exim das
"queue-only" eingestellt, d.h. er sendet von sich aus nichts raus.
Dann mache ich immer (automatisch) kurz vor dem Trennen der Internet-
Verbindung einen "exim4 -q".

So kann ich offline schreiben und versenden, sogar das
"sendmail"- oder "mailx"-Kommando von Scripten benutzen lassen,
und der lokale Mailserver hält die solange in der Warteschlange,
bis ich Internet-Verbindung habe.

> Dann haette die Mail nicht mehr den lokalen Absender, den sie eigentlich
> haben sollte, waere aber auch kein Beinbruch.

Auch wenn deine Bezeichnung "SMTP-Relay" technisch gesehen stimmt,
meint man umgangssprachlich bei einem Relay eigentlich nur diejenigen,
die *nicht* den Absender überschreiben.

Das heißt, die ausgehenden Mails behalten die FROM-Adresse, die *du*
festgelegt hast, aber in den "Received"-Headern steht zur Sicherheit
natürlich, über welchen Account du dich per SMTP-Auth authentifiziert
hast.

GMX erlaubt das nicht, nur gegen Aufpreis. Freenet hingegen bietet AFAIR
dieses Feature (also "Relaying") auch für die kostenlosen Mail-Accounts.
Schau dich bei den Mail-Providern einfach mal um.


Zum Beispiel habe ich auf mail.notjusthosting.com eine Mailadresse
"vog at notjusthosting.com", die auch mein SMTP-Auth-Loginname ist,
aber ich kann genausogut auch EMails als "admin at notjusthosting.com"
oder sogar als "irgendwer at gmx.de" schreiben. Durch den Eintrag von
"vog at notjusthosting.com" in den Received-Headern bleibt die Sache
zurückverfolgbar.

> Wie richte ich das am schnellsten ein, ohne jetzt ewig an einer 
> sendmail.cf herumdoktern zu muessen ?

Unter Debian mit exim4-config geht das sehr leicht:

1) Konfiguration
2) Passwort eintragen


1) Konfiguration
----------------

Entweder du benutzt exim4-config mit dem Befehl:

    dpkg-reconfigure exim4-config

Alternativ kannst du auch manuell die Datei bearbeiten:

    /etc/exim4/update-exim4.conf.conf

Wenn du sie manuell bearbeitet hast, musst du daraus noch
die Exim4-Konfiguration erzeugen mir dem Befehl:

    update-exim4.conf


2) Passwort eintragen
---------------------

Du musst den Servernamen, User und Passwort eintragen in:

    /etc/exim4/passwd.client

Bei mir steht dort z.B.:

    mail.notjusthosting.com:vog at notjusthosting.com:***

(nein, mein Passwort ist nicht 3stellig und besteht nicht nur
aus Sternchen ;-))

AFAIK brauchst du keinen Aufruf von "update-exim4.conf" nach
einer Änderung. Aber vielleicht einen Neustart von exim4
(weiß ich nicht mehr).


Ich hoffe, das hilft dir.


Viele Grüße,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l