"einfacher" smtp-Server für viele Kunden

julian-w

Member
Hallo,
ich habe folgendes Problem:
bei einigen "Kunden" habe ich einen Debian-Server eingerichtet, auf denen u.a. mdadm läuft.
Nun würde ich gerne, z.B. falls eine Festplatte ausfällt, eine E-Mail Benachrichtigung bekommen. Bei mir persönlich hab ich das Problem mittels ssmtp gelöst.

Das Problem ist nur, dass ich (noch) keinen smtp-Server für diesen Zweck habe:
  • den E-Mail Provider meiner Kunden möchte ich nicht nutzen (Daten sind nicht bekannt, Passwört ändern sich, also nur unnötigen Ärger)
  • meine eigenen Daten will ich nicht preisgeben (verständlich, oder ;))

Meine E-Mails laufen über meinen Hoster ab, sodass ich keine extra ssmtp-Zugänge anlegen kann. Nun besitzt ich noch einen vServer, den ich gerne dazu nutzen würde. Das Problem ist, ich habe bisher keinerlei Erfahrung im Betrieb eines Mail-Servers. Von daher mal kurz meine Anforderungen:

  • smtp-Server mit versch. Benutzern, welche sich leicht anlegen/ändern/löschen lassen (MySQL-DB?)
  • E-Mails werden nur an eine E-Mail Adresse (nämlich meine) weitergeleitet

Könntet ihr mir da evtl. was empfehlen? Google brachte leider nicht so viel zu Tage...

Auf jeden Fall schon mal Danke für eure Hilfe !!!

Viele Grüße
Julian

Edit:
Es würde mir auch reichen, wenn man es irgendein Programm gäbe, dass statt die E-Mails via smtp zu senden (wie es ssmtp macht), einfach mittels POST oder GET auf einen Webserver schickt.
 
Last edited by a moderator:
Hallo Julian,

wenn du wenig Erfahrungen mit eigenen Mailservern hast, könntest du einfach Freemailer, wie zum Beispiel web.de,gmx.de nehmen und deren SMTP Server zum versenden von deinen Status E-Mails nehmen.
 
Nunja, dann müsste ich aber etliche E-Mail Konten anlegen (für jeden Kunden eben eins) und das auch quasi alles "über mich" laufen lassen. Und wenn einer Mist baut, bin ich dran. Von daher wollte ich diese Methode aufs äußerste vermeiden.

Von daher wäre mir es lieber, wenn ich selbst den smtp-Server betreibe und man nur E-Mails an mich schreiben kann, denn zum einen können so die Zugangsdaten nicht missbraucht werden (bzw. kann nur ich das "Spam-Opfer" sein) und ich würde es direkt merken und könnte den entsprechenden Zugang sperren.

Als Alternative wäre es noch praktisch, wenn einer ein Programm kennen würde, dass ähnlich wie ssmtp die "System-Emails" entgegen nimmt, aber nicht per smtp versendet, sonder eine Website aufruft und den Inhalt der E-Mails via GET oder POST dem Webserver mitteilt.
 
Nunja, dann müsste ich aber etliche E-Mail Konten anlegen (für jeden Kunden eben eins)
Wieso für jeden Kunden eins? Brauchst doch nur einen Sammelaccount. Aber egal...

Von daher wäre mir es lieber, wenn ich selbst den smtp-Server betreibe
Dann mach es doch. Mit Postfix ist sowas schnell und einfach aufgesetzt. Die andern Server kann man einfach als Local-Network einbinden. Dann brauchst Du dort kein SMTP-Auth hinter legen.

Aber es kommt halt auch drauf an, was Du sonst mit dem Vserver anstellen möchtest.

sonder eine Website aufruft und den Inhalt der E-Mails via GET oder POST dem Webserver mitteilt.
Das ist in PHP innerhalb von 2 Minuten geschrieben.
Da dauert die Suche nach einem ähnlichen Script deutlich länger. ;)

huschi.
 
Wieso für jeden Kunden eins? Brauchst doch nur einen Sammelaccount. Aber egal...

Nunja, ich überwache die Server nicht 24h am Tag und der Besitzer hat natürlich auch root-Rechte drauf (sofern er darauf besteht). Von daher kann ich nicht 100% sicher sein, dass die Zugangsdaten (unabsichtlich) missbraucht werden. Und daher würde ich gerne für jeden einen extra Zugang einrichten, zum einen müsste ich im Falle von geklauten Passwörtern nicht überall neue Zugangsdaten konfigurieren und zum anderen findet man so recht schnell das "schwarze Schaf".

Dann mach es doch. Mit Postfix ist sowas schnell und einfach aufgesetzt. Die andern Server kann man einfach als Local-Network einbinden. Dann brauchst Du dort kein SMTP-Auth hinter legen.

Aber es kommt halt auch drauf an, was Du sonst mit dem Vserver anstellen möchtest.
Nunja, ich wollte halt "komplexe" Sachen vermeiden, da ich mich bisher nur intensiv mit lighttpd und MySQL beschäftigt habe (von den Diensten, die von "außen" erreichbar sind). Und der vServer ist auch nur ein "ganz kleiner" mit 128MB Ram, also ich weiß nicht, ob sich postfix da so wohl fühlen würde, vor allem da schon lighttpd, MySQL und ein SVN-Server vorhanden sind.

Das ist in PHP innerhalb von 2 Minuten geschrieben.
Da dauert die Suche nach einem ähnlichen Script deutlich länger. ;)
Echt, wie geht denn das!? Gut, ich müsste noch php bei den Kunden installieren, dürfte aber nicht weiter tragisch sein, da ja nicht dauernd RAM-hungriger ein Server laufen muss. Auf der Webserver-Seite ist das ganze klar, doch wie ersetzte ich z.B. ssmtp mit einem solchen Skript, sodass z.B. die E-Mails von apticron auto. an den Webserver weitergeleitet werden :confused:

Auf jeden Fall schon mal Danke für die Hilfe :D
 
Es ist nicht wirklich "komplex" einen Mailserver auf zusetzten. Man muss sich lediglich kurz damit beschäftigen.

Für eine Script-Basierte Lösung brauchst Du kein PHP beim Kunden. Dort reicht ein wget und etwas Shell-Scripting.

PHP/Perl/Python oder was Dir sonst so liegt kannst Du dann verwenden um den Request auszulesen und die Parameter in ein Logfile, Datenbank oder ähnliches schreiben.

huschi.
 
MOD: Full-Quote entfernt!

Vielen Danke für deine Hilfe.
Nunja, wenn ein "einfacher" Bash-Script reichen würde, wäre das für mich wohl die beste Lösung.
Der php-Teil auf dem Web-Server ist für mich kein Problem.

Der Bash-Script ist theo. auch kein Problem, nur ich weiß nicht, "wo ich anfangen soll", also wo ich den Bash-Script platzieren muss und welche Parameter ich übergeben bekomme. Wenn ich z.B. apticron installieren, funktioniert es ja "einfach so".
Von daher müsste ich eigentlich nur wissen, wo ich den Bash-Script im Linux-System platzieren muss, sodass die E-Mails darüber und nicht über ssmtp versendet werden. Die Parameter kann ich ja dann selber rausfinden.
 
Last edited by a moderator:
Das Verzeichnis /usr/local/bin/ ist meist ein guter Platz für eigene Scripte.
Welche Parameter ist natürlich eine Frage dessen, welche Daten Du versenden möchtest. ;)
Aber "man wget" und das grundsätzliche Verständnis von Post-Requests hilft schon eine Menge.
Ebenfalls hilft es auch zu wissen, welche Parameter bisher an ssmtp übergeben worden sind.

huschi.
 
Ich glaube, wir reden ein bisschen einander vorbei ;)

Daher nochmal etwas deutlich formuliert:
Wie sage ich nun Debian, dass es statt ssmtp meinen Skript benutzten soll, um E-Mails zu versenden?
 
Das Paket sSMTP beinhaltet - wie üblich - einen sendmail-Ersatz: /usr/sbin/sendmail und /usr/lib/sendmail.
Beides jeweils nur ein Link aus das ssmtp-Programm selbst.

D.h. Du legst ein sendmail-Kompatibles Script an und verlinkst die beiden o.g. Dateien darauf. Die Email kommt dann über STDIN rein. Die kannst Du direkt als POST-Parameter an wget durchleiten.

huschi.
 
DANKE, dass ist genau die Info, die ich gebraucht habe :D

Hab auch gleich gemerkt, wie sich ssmtp ins System "integriert" hat :)

Eine Frage hab ich noch: Wenn ich einige Pakete installiere (z.B. rkhunter), so will apt-get auto. auch einen MTA (im Fall von rkhunter exim4) mitinstallieren. Wenn ich die Einträge anlegen, versucht apt-get dann immer noch einen MTA zu installieren und falls ja, wie kann ich dies abschalten?
 
Wenn Du z.B. ssmtp installierst, hast Du ein MTA-Paket und er fragt nicht mehr nach Exim/Postfix/Qmail/Sendmail/etc.

Danach überschreibst Du die beiden Links und fertig.
Allerdings kann es sein, dass ein Update von ssmtp die Links wiederum überschreibt...

huschi.
 
Allerdings kann es sein, dass ein Update von ssmtp die Links wiederum überschreibt...

Mhh, das wäre ein bisschen blöd. Wäre es möglich, sich selbst ein Paket zu packen (mit dem kleinen Skript, damit es nicht ganz leer ist ;)) und damit apt-get vorzugauckeln, es wäre ein MTA installiert?
 
rkhunter hat (unteranderem) Abhängigkeiten auf "exim4 | postfix | sendmail | mail-transport-agent". Du könntest also ein "dummy" Package mit dem Namen mail-transport-agent bauen.
 
Nunja, wenn ich ssmtp installiert habe, will rkhunter auch keinen weiteren MTAs installieren.
Daher habe ich nun folgende Frage:
"mail-transport-agent" ist ja ein "virtuelles Paket". Leider kenne ich mich mit virtuelle Paketen nicht so gut aus, aber kann ich jetzt selbst einfach ein Paket packen und sagen, dass dieses Paket das virtuelle Paket "mail-transport-agent" ersetzt. Dem Paket würde ich dann einen eigenen Namen geben, so dürfte es auch keine Probleme mit Updates geben.
Würde das gehn und falls ja, wie kann ich das machen?
 
So, hab es selbst herausgefunden:

Beim erstellen des Paketes muss man in das Feld "Provides" das virtuelle Paket "mail-transport-agent" angeben, und schon will das System keinen MTA mehr installieren.

Auf jeden Fall Vielen Dank für eure Hilfe, hab es nun endlich geschafft :D
 
Back
Top