Struppi: sendmail.log - wer will da eine Mail verschicken?

Als Linux Anfänger gibt es noch viele Dinge zu entdecken.

Nun bin ich gestern, aus Versehen, in den Systemprotokollbetrachter gelangt und habe mir einige Logs angeschaut. Was mich stutzig gemacht hat war, dass in den Logeinträgen mail.log, mail.err, mail.info und mail.warn ein Reihe Einträge vorhanden sind. Obwohl ich aber eigentlich keinen mail-server explizit installiert habe.

Letzte Woche hatte ich smartmontools installiert, wobei auch postfix auf's System gelangte. Beim Installationsvorgang bin ich nach den Konfigurationsdaten von postfix gefragt worden. Gewohnheitsmäßig habe ich einfach weiter geklickt, da ich ja keinen mail-server installieren wollte. Aber ansonsten habe ich an der Stelle noch nichts geschraubt und hatte es eigentlich auch nicht vor.

Die Einträge in den Logdateien sehen alle so aus:

Dec 20 16:50:31 struppi-desktop postfix/sendmail[21199]: fatal: www-data(33): No recipient addresses found in message header

Ich habe bereits rausgefunden, dass die beim Aufruf einer Perl Anwendung über localhost eingetragen werden, die aber an dieser Stelle keine Mail verschickt und sendmail nicht aufruft. Eigentlich.

Leider sind die Einträge, in den Logdateien nicht sonderlich aussagekräftig. Gibt es eine Möglichkeit rauszufinden, wer diese Mails versucht zu verschicken?
In den oben genannten Logs sind jeweils die identischen Einträge, keine Hinweise woher der Aufruf kommt.

Struppi.

  1. Hallo,

    Als Linux Anfänger gibt es noch viele Dinge zu entdecken.

    wem sagst du das ... ;-)

    Ich habe bereits rausgefunden, dass die beim Aufruf einer Perl Anwendung über localhost eingetragen werden, die aber an dieser Stelle keine Mail verschickt und sendmail nicht aufruft. Eigentlich.

    Nur mal so als Hinweis unter Laien: Einige Dienste verschicken unter Linux typischerweise Mails an den Systemadmin, in denen sie über Erfolg oder Misserfolg berichten. Sowas vermute ich jetzt auch bei dir, auch wenn ich nicht sagen kann, "wer" es konkret sein mag.

    So long,
     Martin

    --
    Denken ist wohl die schwerste Arbeit, die es gibt. Deshalb beschäftigen sich auch nur wenige damit.
      (Henry Ford, amerikanischer Industriepionier)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Ich habe bereits rausgefunden, dass die beim Aufruf einer Perl Anwendung über localhost eingetragen werden, die aber an dieser Stelle keine Mail verschickt und sendmail nicht aufruft. Eigentlich.

      Nur mal so als Hinweis unter Laien: Einige Dienste verschicken unter Linux typischerweise Mails an den Systemadmin, in denen sie über Erfolg oder Misserfolg berichten. Sowas vermute ich jetzt auch bei dir, auch wenn ich nicht sagen kann, "wer" es konkret sein mag.

      Sowas in der Art ist vermutlich auch der Grund, warum smartmontools Postfix installiert haben wollte, da man dort die Möglichkeit hat, sich bei einer fehlerhaften Platte eine Mail schicken zu lassen.

      Aber die Einträge in den Fehlerlogs sprechen von www-data, das ist die Usergruppe die vom Apache eingetragen wird.

      Struppi.

  2. hi,

    Ich habe bereits rausgefunden, dass die beim Aufruf einer Perl Anwendung über localhost eingetragen werden, die aber an dieser Stelle keine Mail verschickt und sendmail nicht aufruft. Eigentlich.

    Sieht für mich auch so aus, als wollte der Webserver was schicken.

    Leider sind die Einträge, in den Logdateien nicht sonderlich aussagekräftig. Gibt es eine Möglichkeit rauszufinden, wer diese Mails versucht zu verschicken?

    Stürz Dich mal auf den lokalen Webserver, gib dem eine Absenderadresse und Eine, wo er die Mails im Fehlerfall hinschicken soll. Guck mal die Konfig durch, ob das Senden von Mails konfiguriert ist. Und schau mal mit

    netstat -anlt

    ob ein postfix auf dem System läuft, ggf. diesen Dienst mal ausschalten.

    Hotti

    1. Ich habe bereits rausgefunden, dass die beim Aufruf einer Perl Anwendung über localhost eingetragen werden, die aber an dieser Stelle keine Mail verschickt und sendmail nicht aufruft. Eigentlich.

      Sieht für mich auch so aus, als wollte der Webserver was schicken.

      Dachte ich auch zuerst und schliesse ich auch nicht aus, aber die Einträge kommen (bisher) nur bei Aufruf eines größeren Perl Projekt, dort aber bei jedem Aufruf.

      Leider sind die Einträge, in den Logdateien nicht sonderlich aussagekräftig. Gibt es eine Möglichkeit rauszufinden, wer diese Mails versucht zu verschicken?

      Stürz Dich mal auf den lokalen Webserver, gib dem eine Absenderadresse und Eine, wo er die Mails im Fehlerfall hinschicken soll. Guck mal die Konfig durch, ob das Senden von Mails konfiguriert ist. Und schau mal mit

      Der Punkt dabei ist, ich wollte gar nicht mich mit einer Mailkonfiguration rumschlagen, zumindest zum jetzigen Zeitpunkt nicht. Ich hatte auch schon einen Blick rein geworfen, das ist mir aber im Moment wirklich zuviel. (Wobei der Server eine Absendermailadresse hat)

      netstat -anlt

      ob ein postfix auf dem System läuft, ggf. diesen Dienst mal ausschalten.

      Ich werd den Befehl aber nachher mal ausprobieren (bin grad nicht zu Hause). Postfix ist aber vermutlich installiert, wie gesagt ich wurde ja nach den Daten gefragt.

      Ich hätte halt gern ein Logfile, wo drin steht, wer diesen fehlerhaften Aufruf gestartet hat, ansonsten nützt ein Logeintrag in einem Fehlerlog doch wenig, wenn ich nicht den Verursacher finden kann.

      Struppi.

    2. netstat -anlt

      ob ein postfix auf dem System läuft, ggf. diesen Dienst mal ausschalten.

      Hab ich jetzt mal ausgeführt, aber ich bin kein Netzwerker, woran erkenne ich das an der Liste?

      Struppi.

      1. Hi Struppi,

        netstat -anlt

        ob ein postfix auf dem System läuft, ggf. diesen Dienst mal ausschalten.

        Hab ich jetzt mal ausgeführt, aber ich bin kein Netzwerker, woran erkenne ich das an der Liste?

        Ein MTA sollte mit Listen Port 25 zu sehen sein. Im Runlevel-Editor kannst Du den ausschalten und Kontrolle mit netstat.

        Hotti

        --
        Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  3. Tach,

    Nun bin ich gestern, aus Versehen, in den Systemprotokollbetrachter gelangt und habe mir einige Logs angeschaut. Was mich stutzig gemacht hat war, dass in den Logeinträgen mail.log, mail.err, mail.info und mail.warn ein Reihe Einträge vorhanden sind. Obwohl ich aber eigentlich keinen mail-server explizit installiert habe.

    ein lokaler Mailserver ist unter unixoiden Betriebssystemen üblich, die meisten Programme verlassen sich auf dessen Existenz und so gut wie alle Linux-Distris installieren standardmäßig einen (Die meisten Cron-Daemons z.B. nutzen Mails zur Kommunikation).

    Dec 20 16:50:31 struppi-desktop postfix/sendmail[21199]: fatal: www-data(33): No recipient addresses found in message header

    Die Nachricht wird über "sendmail -t" eingeliefert und soll somit einen Mailheader enthalten, in der der/die Empfänger benannt werden, tut dies aber nicht.

    Ich habe bereits rausgefunden, dass die beim Aufruf einer Perl Anwendung über localhost eingetragen werden, die aber an dieser Stelle keine Mail verschickt und sendmail nicht aufruft. Eigentlich.

    Tja, www-data ist aber der Absender. Ich würde mal raten, es tritt ein Fehler auf, das Problem wird eskaliert und wer auch immer den Fehler auffängt, versucht dich per Mail zu informieren.

    mfg
    Woodfighter

    1. Ich habe bereits rausgefunden, dass die beim Aufruf einer Perl Anwendung über localhost eingetragen werden, die aber an dieser Stelle keine Mail verschickt und sendmail nicht aufruft. Eigentlich.

      Tja, www-data ist aber der Absender. Ich würde mal raten, es tritt ein Fehler auf, das Problem wird eskaliert und wer auch immer den Fehler auffängt, versucht dich per Mail zu informieren.

      Der Punkt dabei ist, es gibt tatsächlich solch einen Mechanismus, der aber auf localhost, weil sendmail auf windows nihct existiert, nur eine Textdatei anglegt mit der Meldung. Aber nur im Fehlerfall!

      Da die Anwendung aber fehlerfrei läuft (es gibt darüber hinaus noch einen Debugmechanimus, der mir Fehler ebenfalls anzeigt) und ich auch Testweise mal an der Stelle wo die Mails verschickt werden würden, ein "die" eingebaut. Der Aufruf kann also nicht von da kommen.

      Wie auch immer, ich werd natürlich nochmal alles durchgehen, bin aber 99% sicher, dass meine Anwendung keine Mails verschickt. Dadurch ist es natürlich extrem mühsam, mit solchen Logeinträge etwas anzufangen, hätte ich sie mir doch nie angeschaut ;-)

      Struppi.

  4. Die Einträge in den Logdateien sehen alle so aus:

    Dec 20 16:50:31 struppi-desktop postfix/sendmail[21199]: fatal: www-data(33): No recipient addresses found in message header

    Ich habe bereits rausgefunden, dass die beim Aufruf einer Perl Anwendung über localhost eingetragen werden, die aber an dieser Stelle keine Mail verschickt und sendmail nicht aufruft. Eigentlich.

    Und das "eigentlich", war genau der Knackpunkt.

    Nachdem ich rausgefunden habe, dass die Einträge auch im error.log vom Apache waren (hatte ich wohl heute morgen übersehen), war klar, dass es von der Anwendung kommen musste.

    Das Problem war, dass in einem Verzeichniss, in dem Dateien sind, die als Newsletter verschickt werden sollen, zwei Dateien waren, die aus irgendeinem Grund von 'root' erstellt waren und dadurch nicht von dem Skript gelesen und gelöscht werden konnten.

    Da das eine Funktion ist, die mit "heißer Nadel gestrickt" wurde, hatte ich den Test ob open funktioniert weggelassen - was, wie sich mal wieder zeigt, ein Fehler ist. Naja, hat zumindest keinen Schaden angerichtet.

    Danke für die Aufmerksamkeit und die Tipps :-)

    Struppi.