Bez autom. odpovedi programu 'vacation' v pripade, ze se jedna o spam.

jfeg

Poradte prosim, jak udelat, aby program vacation, ktery uzivatel pouzije pro autom. odpoved na email v pripade nepritomnosti, neodpovidal v pripade, ze se jedna o spam. To jestli to je nebo neni spam provadi nas server ve spolupraci s programy  procmail a spamassassin.
Jsem ve fazi, kdy vacation testuji na jedinem uzivateli (treba uzivateli 'honza'), ktery ma

$ cat /home/honza/.forward
\honza, "|/usr/bin/vacation honza"

a vse funguje jak ma.

Myslel jsem, nahradit tu rouru v .forward rourou s vlastnim skriptem

$ cat /home/honza/.forward
\honza, "|/home/honza/vac_spam.sh"

$ cat /home/honza/vac_spam.sh
#!/bin/bash
if ! /bin/grep -iq -m 1 'X-Spam-Status: No' - ; then
  tady nejak nastavit vstup na "| /usr/bin/vacation honza"
  date "+%T NENI SPAM" >> /tmp/test.tmp
  else
  date "+%T JE SPAM" >> /tmp/test.tmp
fi

ale jak je videt, nevim jak to napsat. Poradite jak na to?
Diky, jfeg.




Misto  "tady nejak nastavit vstup na " dat proste cat?

Misto  "tady nejak nastavit vstup na " dat proste cat?

Aha, pardon, precetl jsem si ten script spatne. Jelikoz ten tvuj script ma mail k dispozici jenom na stdin a ty ho potrebujes mit dvakrat (jednou pro grep, jednou pro odeslani do vacation), nezbude ti nic jinyho, nez si ho zkopirovat do nejakyho docasnyho souboru a ten potom pripadne odesilat do vacation nebo ne.


jfeg

diky za odpoved, ale asi jsem byl zaslepenej... na soubor  .forward  se vykaslu uplne a vsechno poresim v procmailu
jf.

diky za odpoved, ale asi jsem byl zaslepenej... na soubor  .forward  se vykaslu uplne a vsechno poresim v procmailu
jf.

No to je urcite lepsi, protoze ten grep si udela procmail sam...


Jenom doplním, že manuálová stránka procmailex(5) obsahuje i velice sofistikovanou náhradu programu vacation pomocí skriptu procmailu. Ta se stará o to, aby neodpovídala do diskuzních skupin, aby každému odpověděla nejvýše jednou a aby zabránila vytvoření smyčky, pokud by na automatickou odpověď dorazila automatická odpověď.