você está aqui: Home  → Arquivo de Mensagens

Ebook Gratuito: Dá para fazer em Shell?, com o Prof. Julio Neves

Envio de mensagens diretamente com Sendmail

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 30 de Agosto de 1999

É possível se enviar mensagens diretamente com o programa sendmail(MTA ou Mail Transport Agent), sem o intermédio de um software intermediário (MUA ou Mail User Agent).

É claro que esta opção não é das mais convenientes, visto que é muito mais fácil enviar mensagens com programas como elm, netscape composer, pine e outros.

Entretanto, especialmente do ponto de vista do administrador de sistemas, existem ocasiões em que pode ser mais conveniente usar diretamente o programa sendmail.

Uma destas vantagens é a configuração do cabeçalho de forma a atender determinadas necessidades.

Em toda mensagem de correio eletrônico o cabeçalho é separado do corpo da mensagem por uma linha em branco.

Suponhamos então que eu queira enviar uma mensagem para todos os usuários, como abaixo:

—------------------
Reply-To: suporte@unicamp.br
Subject: Parada Programada

Senhores Usuários(as),

Hoje haverá uma parada programada às 17:00horas
com retorno previsto para as 17:30 hs.

Atenciosamente,

Suporte Técnico
—------------------

Foram incluídas duas linhas de cabeçalho. A primeira delas "Reply-To", define quem irá receber a resposta. Neste caso o "suporte", que consiste de várias pessoas. Não é conveniente que respostas a mensagens deste tipo retornem para apenas uma pessoa. A segunda linha define o "Subject" da mensagem. Em seguida, uma linha em branco e finalmente a mensagem.

Para enviar esta mensagem, podemos fazer o seguinte shell script:

#!/bin/ksh

for user in ""awk -F: '{print $1}' /etc/passwd""
do 
/usr/lib/sendmail $user < msg
echo $user
echo $user > ultimo-endereço 
sleep 2
done

Foi colocado um controle, redirecionando o nome do último usuário para quem a mensagem foi enviada. Desta forma, em caso de queda de sistema ou algum outro contratempo, o processo pode ser retomado do ponto em que foi interrompido. Basta remover da lista de usuários os nomes até o último.



Veja a relação completa dos artigos de Rubens Queiroz de Almeida