sexta-feira, setembro 29, 2006

Convertendo Pegasus Mail Folder para MailBox Default

Recentemente eu fui questionado sobre sobre a possibilidade
de migrar folder's de um cliente de email chamado Pegasus.

Para os que não sabem do que falo, Pegasus é ou foi um cliente de email
muito comum em redes com servidores Novell Netware, e o fato de migrar
pra mailbox possibilita utilizar esse mailbox em algum servidor de email,
servindo de para uma migração intermediaria pra qualquer outro cliente de email
ou Webmail.

Segue o programa feito em shell script:

[ricardo@ricardo(5:06pm)] ~/scripts# cat pmn2mbx
#!/bin/sh
INFILE="$1"

if [ ! -z $INFILE ];then
mailfolder="$(sed -ne '1p' $INFILE | strings |head -n1)"

sed -e '1{
s/^.*Received/Received/g
s/^.*X-cs: R/X-cs: R/g
}' < $INFILE >"pmn2mbx.XXX"

cp "pmn2mbx.XXX" $INFILE

if grep -q "Received: from SpoolDir by" $INFILE;then
sed -e '/Received: from SpoolDir by/{
i\
From ???@??? Mon Jan 01 00:00:00 1996
}' < $INFILE >"$mailfolder.mbx"
echo "Complete in ${mailfolder}.mbx"
exit 0
else
sed -e '/X-cs: R/{
i\
From ???@??? Mon Jan 01 00:00:00 1996
}' < $INFILE >"$mailfolder.mbx"
echo "Complete in ${mailfolder}.mbx"
exit 0
fi
else
echo "PMN2MBX 1.0"
echo "usage `basename $0`: file.pmn"
exit 64
fi

[ricardo@ricardo(5:06pm)] ~/scripts# ./pmn2mbx
PMN2MBX 1.0
usage ./pmn2mbx: file.pmn

O segredo esta em remover a primeira linha e adicionar um "From" default como "From ???@??? Mon Jan 01 00:00:00 1996"

Qualquer duvida, ja sabem :-)