A história
Uso Sendmail desde 1998 e, atualmente, administro dois servidores com esse SMTP. Sempre utilizei a solução clássica de procmail para fazer mensagem de teste automatizada. Com isso, depois de configurar os seus programas de e-mail sob protocolo POP3 ou POP3s, os técnicos e usuários podem testar o funcionamento, enviando uma mensagem vazia para teste@dominio.com.br.
A citada solução clássica de procmail, muito conhecida, é a seguinte:
:0
* ^From.*dominio.com.br
* ^To.*teste@dominio.com.br
{
:0 c
| (formail -ri "From:teste@dominio.com.br"; cat /usr/share/msg/teste.msg) | sendmail -oi -t
:0
/dev/null
}
(Para saber a sobre a sintaxe utilizada acima, $ man procmailrc, $ man formail e $ man sendmail.)
No entanto, em algumas instalações o Procmail+SMTP engasga e termina não executando a linha formail/cat/sendmail corretamente. Assim, resolvi mudar o método, inovar e embelezar.
A solução
No procmail, o caratere pipe é responsável por executar alguma rotina. Assim, criei um script externo e determinei a execução via pipe. O procmail ficou assim (colocar dentro do arquivo /etc/procmailrc, que deverá ser criado caso não exista):
:0
* ^From.*dominio.com.br
* ^To.*teste@dominio.com.br
{
:0 c
|/usr/share/msg/teste.sh
:0
/dev/null
}
O script /usr/share/msg/teste.sh, ativado pelo procmail, é este:
#!/bin/bash
# by Eriberto - C 2012
formail -ri "From: teste@dominio.com.br" \
-I "Subject:" \
-A "Subject: Servidor Mail - RESPOSTA AO SEU TESTE" \
-A "Content-Type: text/html; charset="ISO-8859-1"" \
> /tmp/resposta
cat /usr/share/msg/teste.msg >> /tmp/resposta
cat /tmp/resposta | sendmail -oi -t
O script anterior deve receber permissão de execução:
# chmod 750 /usr/share/msg/teste.sh
Por fim, a mensagem teste.msg, utilizada pelo script anterior é um texto em HTML. Eu usei o SeaMonkey Composer para fazer o HTML (IceApe no Debian; basta fazer # apt-get install iceape-browser e, no menu Window escolher Composer ). Mas você pode até usar sites on-line, como o quackit.com ou o Free Online HTML Editor.
O resultado final foi este (clique para ampliar):
Bem, é isso. Divirta-se!!!
