bash script gesucht!

AleXburnA

Registered User
Hi!@All!!


Ich bräuchte folgendes als Bash. Leider kann ich diese Sprache nicht, ich kann nur VB und PHP, deshalb kann ich's nicht selber schreiben. Ich denke es ist aber mit 10 Zeilen leicht erledigt.


Wär echt super nett, wenn mir des wer schnell zamscriptet.


1. User soll prefix und suffix seiner eMail-Adresse eingeben. (Also: <prefix>@<suffix>)
2. Die Datei /var/qmail/mailnames/<suffix>/<prefix/.qmail soll gelöscht werden.
3. Diese qmail-datei soll neu mit neuem fixen Inhalt erstellt werden.

| /usr/local/psa/bin/psa-spamc accept
|preline /usr/bin/procmail -m .procmailrc

4. Es soll eine Datei /var/qmail/mailnames/<suffix>/<prefix>/.procmailrc angelegt werden
5. Diese Datei soll mit folgendem Inhalt beschrieben werden:

SHELL=/bin/sh
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
HOME=/var/qmail/mailnames/<suffix>/<prefix>
MAILDIR=$HOME/Maildir/new
SPAM=$HOME/Maildir/.SPAM/new
LOGFILE=$HOME/procmail.log
VERBOSE=off



:0 w
* ^X-Spam-Level: ******
$SPAM

:0 w
* ^From:.*DrWeb-DAEMON
$SPAM


:0 w
$MAILDIR

6. Beide chown popuser: popuser und chmod 600


des wars schon. Wär saugeil wenn ich das gecoded bekommen könnte!

Merci im Vorraus!!

Alex

EDIT: Das Script wär dann dafür da, damit ich für bestimmte User einrichten kann, dass SPAM - Nachrichten automatisch in den Ordner .SPAM verschoben werden. Alle Nachrichten mit >=6 Punkten werden verschoben.

Das ganze findet auf nem SuSE 9.3er mit PLESK 8.1 und aktivierten spamassassin+drweb statt :-)

Vielleicht kann man das script ja auch im Forum gebrauchen, weil diese Frage ja öfters kommt.
 
Last edited by a moderator:
Code:
#!/bin/sh

echo -n "Suffix: "
read suffix

echo -n "Prefix: "
read prefix

if ( ! -w /var/qmail/mailnames/$suffix/$prefix ); then
  echo "Diese Kombination ist mir nicht bekannt oder du darfst dort nicht schreiben."
  exit 1
fi

file=/var/qmail/mailnames/$suffix/$prefix/.qmail
cat > $file << EOF
|/usr/local/psa/bin/psa-spamc accept
|preline /usr/bin/procmail -m .procmailrc
EOF
chmod 600 $file

file=/var/qmail/mailnames/$suffix/$prefix/.procmailrc
cat > $file << EOF
SHELL=/bin/sh
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
HOME=/var/qmail/mailnames/$suffix/$prefix
MAILDIR=\$HOME/Maildir/new
SPAM=\$HOME/Maildir/.SPAM/new
LOGFILE=\$HOME/procmail.log
VERBOSE=off

:0 w
* ^X-Spam-Level: ******
\$SPAM

:0 w
* ^From:.*DrWeb-DAEMON
\$SPAM

:0 w
\$MAILDIR
EOF
chmod 600 $file

Da ich die Verzeichnis-Rechte nicht kenne, die da zum Einsatz kommen, habe ich die chown mal ausgelassen. (Darf ein unprivilegierter User eh nicht)
Ich vermute mal, dass /var/qmail/mailnames/$suffix/$prefix dem entsprechenden User gehört. Mit dem muss das Script auch gestartet werden.

Der NEWSFLASH auf der Procmail-Seite ist übrigens von 2001...
Ich würde für solche Sortieraktionen heutzutage SIEVE benutzen.
 
Last edited by a moderator:
super!

Vielen vielen Dank! Werd ich heut nachmittag gleich ausprobieren. Hier in der Firma geht's leider nicht.

genau, /var/qmail/mailnames/$suffix/$prefix gehört dem entsprechenden User. Dann starte ich das script von ihm aus.

Und SIEVE hab ich noch nie gehört, aber ich schaus mir mal an.

Merci nochmal,

MfG Alex
 
Back
Top