[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [debian-users-eo] Pri la listo mem



On Mon, Oct 23, 2017 at 09:47:18AM -0200, Felipe Castro wrote:
> Ankaŭ mi tre ŝatis la sugeston, filtriloj ekzistas en pluraj
> retpoŝt-klientoj, eĉ Gmail ebligas fari tion... :-)

  La alia programo uzata de mi por legi mesaĝojn estas "mutt".  "Mutt" ne
  elŝutas mesaĝojn. Kiu faras tion ĉi tie estas "fetchmail".   Ĝi
  labora kune "script" por filtri mesaĝojn.

  Tri linioj estas aldonita de mi en la "script" por montri aldonon
  "[debina-users-eo]" en temlinion.

  La linioj estas:
  
    ARQNAME1=/tmp/teste.txt
  cat  $ARQNAME > $ARQNAME1


 if [ `grep -i "List-Id: <debian-esperanto.lists.debian.org>" $ARQNAME | wc -l ` -ne 0 ]; then sed s/"Subject:"/"Subject: [debian-users-eo] "/ $ARQNAME1 > $ARQNAME fi

 La plena "script" estas:

 #!/bin/sh
#
# Script para salvar um email em um determinado diretório com a estrutura Maildir
#
# A estrutura Maildir consiste em ter 3 diretórios: cur, new e tmp.
#
# O cur sao as mensagens já lidas, ou seja, na caixa corrente. O new são as novas mensagens que você ainda nao leu. 
# O tmp está na cara o que é, né? :)
#

CAIXA=$1
  if [ "x$CAIXA" = "x" ]; then
    CAIXA="Inbox"
  fi

BASEDIR=~/Mail/
DIRETORIO=$BASEDIR/$CAIXA

if [ ! -d $DIRETORIO/new ]; then
    mkdir -p $DIRETORIO/new
  fi

  if [ ! -d $DIRETORIO/tmp ]; then
    mkdir -p $DIRETORIO/tmp
  fi

  if [ ! -d $DIRETORIO/cur ]; then
    mkdir -p $DIRETORIO/cur
  fi


DATA=`date +%Y%m%d%H%M%S`

#
# O diretorio "tmp" é usado para "montar" a mensagem e depois movê-la para o diretório apropriado.
# Isso impede que algum client leia a mensagem enquanto ela esta sendo montada (o que acontece quando salvamos direto no new).
#
# Adicionalmente, mantém o nome do arquivo temporário em uma variável
#
  ARQNAME=$DIRETORIO/tmp/msg.$DATA.$$.$RANDOM
  cat >> $ARQNAME

  ARQNAME1=/tmp/teste.txt
  cat  $ARQNAME > $ARQNAME1

#
# Exemplo de filtros
# Use sempre o comando "elif" (else + if) para os filtros, para que uma mesma mensagem não seja filtrada mais de uma vez.


 if [ `grep -i "List-Id: <debian-esperanto.lists.debian.org>" $ARQNAME | wc -l ` -ne 0 ]; then sed s/"Subject:"/"Subject: [debian-users-eo] "/ $ARQNAME1 > $ARQNAME 
 fi

# sed s/"Subject:"/"Subject: [Recebido] "/ $ARQNAME1 > $ARQNAME 

#
if [ `grep -i "pgp-signed" $ARQNAME | wc -l ` -ne 0 ]; then mv -f $ARQNAME  $BASEDIR/pgp/new/
#  elif [ `grep -i "buddy@somewhere.com" $ARQNAME | grep -i "^From:" | wc -l ` -ne 0 ]; then
# Para adicionar mais filtros, basta copiar esse laco "elif" e mudar os "greps"
#    mv -f $ARQNAME $BASEDIR/Buddy/new/
elif [ `grep -i "pgp-encrypted" $ARQNAME | wc -l ` -ne 0 ]; then mv -f $ARQNAME  $BASEDIR/pgp/new/
else
#
# Se nao cair em nenhum filtro, mova do diretorio temporario para o "new"
#
    mv -f $ARQNAME $DIRETORIO/new/
fi


-- 

Gilberto F da Silva - gfs1989@mandic.com.br - ICQ 136.782.571
Stela dato:2.458.053,195  Loka tempo:2017-10-26 13:40:26 Ĵaŭdo    

Attachment: signature.asc
Description: PGP signature


Reply to: