PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Überprüfen auf neue Mails



thabermann
06.05.01, 21:06
Ich möchte meine Windows-User über eine Winpopup Meldung darüber informieren ob und wie viele neue Mails sie haben, vielleicht wäre der Betreff und Absender auch nützlich.
Mir sind dazu bislang folgende Möglichkeiten eingefallen:
1. Per Cron aufrufen, ginge zur Not, ist aber nicht optimal
2. Samba hat doch eine Möglichkeit ein Skript aufzurufen wenn sich ein Benutzer anmeldet, weiß jeamdn wie der Parameter heißt?
3. Direkt dann wenn eben was neues ankommt

1 kriege ich selbst hin wenn mir jemand erklärt wie ich für einen Benutzer auslese ob er Mails hat.
2 würde ich auch schaffen wenn ich eben noch den Parameter kennen würde.
Aber bei 3, und das fände ich eigentlich am besten, müsste man neben einer Aufrufmöglichkeit ja auch noch wissen wie man durch Samba den NetBIOS Namen der Maschine herausfindet an der ein bestimmter Benutzer angemeldet ist.
WinPopup Meldungen verschickt man übrigens mit smbstatus -M NetBIOS-Name | cat nachricht.txt .

Wäre ganz toll wenn mir jemand helfen könnte! :D

3qualizer
07.05.01, 22:58
Hi.

Bei mir gibts bei smbstatus die Option -M garnicht...? :confused:

thabermann
08.05.01, 09:37
Sorry, es heißt ja auch smbclient -M. Mein Fehler!

rbla
08.05.01, 12:43
du hast dir doch die antwort schon selbst geliefert: smbstatus
mit parameter "-u username" kannst du den datenwust noch etwas reduzieren, und mit etwas sed, cut, head u.s.w. hast du ruckzuck den rechnernamen

thabermann
08.05.01, 13:34
Ok, das stimmt. Aber wie setzt man die Befehle genau ein?
Dann fehlte nur noch eine Möglichkeit zu checken ob ein Benutzer neue Mail hat. Wo werden neue Nachrichten gespeichert?

rbla
08.05.01, 13:45
erkennen neuer mail: was für einen mta setzt du ein?

kannst du mal eine beispielausgabe von "smbstatus -u" posten? ich habe kein samba laufen

thabermann
08.05.01, 16:17
Also so sieht das im Moment aus:
[root@server tobias]# smbstatus -u tobias

Samba version 2.2.0
Service uid gid pid machine
----------------------------------------------
IPC$ tobias family 9300 thunderbird (192.168.1.10) Tue May 8 17:
10:25 2001

No locked files

[root@server tobias]#

Ich verwende sendmail mit Queue um die Mails über meine ISDN Wählverbindung zu senden und fetchmail holt die Mails periodisch vom Provider ab.

rbla
08.05.01, 16:55
so kriegst du den rechnernamen:
$user='tobias'
smbstatus -u $user | grep $user | head --lines 1 | cut -d' ' -f5

schreib dir am besten ein skript, das die mail von STDIN liest, den empfänger erkennt und die popup nachricht verschickt

danach hast du mehrere möglichkeiten:
1. du bringst sendmail bei dieses skript auszuführen (keine ahnung wie)
2. du lieferst an procmail aus
dann muss in jede .procmailrc
:0
| /hier/ist/das/skript

3. du benutzt künftig qmail statt sendmail (kann ich nur empfehlen)
dann setzt du in die .qmail
| /hier/ist/mein/skript
oder global in /var/qmail/alias/.qmail-msglog (mit dem qmail+patches.rpm von www.em.ca/~bruceg/qmail+patches (http://www.em.ca/~bruceg/qmail+patches) )

viel erfolg

[ 08. Mai 2001: Beitrag editiert von: Ronny Buchmann ]

[ 08. Mai 2001: Beitrag editiert von: Ronny Buchmann ]

thabermann
08.05.01, 17:38
Danke für deine Mühe, aber leider bin ich zu doof den Rückgabewert, also den Rechnernamen in eine Variable zu bekommen. (Ich habe noch nie ein Bash Skript geschrieben, immer nur Perl) Wäre also nett wenn du mir das nochmal kurz zeigst.
Ich hab mir schon länger überlegt mal auf qmail umzusteigen, weil ich ziemlichen Ärger hatte mit der Konfiguration von sendmail, aber jetzt wo es endlich läuft probier ich qmail erst auf meinem Test-Rechner aus. Aber ich habe in einem (deinem?) Post gelesen man könnte je nach Absender relayen, das klingt sehr interessant.

Für das Aufruf Problem hab ich jetzt auch eine Lösung: Ich lasse einfach fetchmail seine Meldungen (No mail for ..., 1 Mail for..) in eine Datei schreiben und rufe dann ein Perlskript auf das nachsieht wer neue Mails hat und dann mit deiner Bash Anweisung die Popupmeldung verschickt. Lokale Mails sind dann zwar nicht mit drin, aber das sört im Moment noch nicht so sehr.

rbla
08.05.01, 17:51
könnte durchaus von mir gewesen sein, ich mache das nämlich (@gmx.de über gmx.de, @web.de über web.de u.s.w.)
geht zwar prinzipiell auch ohne qmail, aber wenn dann richtig ;)

zu fetchmail:
du kannst auch den mda angeben (in der fetchmailrc, leider nicht global)
dann kann das skript ja die weiterleitung an sendmail übernehmen

falls du redhat (oder darauf basierende distri) einsetzt, empfehle ich dir für qmail die rpms von o.g. location
bei suse gibts damit leider ein problem (inkompatibler useradd befehl)


um den rechnernamen in eine variable zu kriegen:

name=`die befehlskette`

eigentlich genauso wie in perl (da geht alternativ auch qx() )