Úloha:

Chceme mail přicházející do schránky uživatele přeposlat do prioritní schránky (nebo například přeposílat jako sms na mobil, zprávu přes jabber protokol, etc.)
na základě nějakých pravidel. V tomto příkladu bude přeposílat zprávy pocházející od ''dulezite@example.com'', ale snadno implementujete i

  • Seznam více důležitých adres
  • Přeposílání podle předmětu (např začínající na "DŮLEŽITÉ")
  • Výskytu klíčových slov v e-mailu
  • ...

Využijeme poznatky z pojednání o e-mailu




~/.forward
uzivatel@adasek.cz
"| ~/preposlani.sh"




~/preposlani.sh
#!/bin/bash
teloMailu=0
preposli=0

while read radka
do
 echo "$radka" >> /tmp/$$_celyMail
 if echo "$radka"|grep "^$"
 then
  #prazdna radka - nasleduje telo mailu
  teloMailu=1
 fi

 if [ $teloMailu -eq 1 ]; then
  echo "$radka" >> /tmp/$$_teloMailu
 fi
done

from=`sed -n -e '/^From:/ p' /tmp/$$_celyMail|sed -e 's/From: //g'`
subject=`sed -n -e '/^Subject:/ p' /tmp/$$_celyMail|sed -e 's/Subject: //g'`

echo "From: $from" >> /tmp/$$_debug
echo "Subj: $subject" >> /tmp/$$_debug

if echo $from|grep "dulezite@example.com"
then
 echo "Sent." >> /tmp/$$_debug
 cat /tmp/$$_teloMailu | mail -s "$subject OD $from" schrankaProDuleziteMaily@adasek.cz
fi