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!!!