2. Utilitários do qmail

Estes utilitários ampliam os recursos do qmail. Basicamente, ajudam em tarefas específicas e geralmente são invocados no momento do recebimento de e-mails, ou seja, no momento anterior a entrada do e-mail na caixa do usuário. Normalmente são utilizados dentro dos arquivos .qmail.

2.1. bouncesaying

bouncesaying erro [ programa [ argumentos ...] ]

Redireciona o e-mail para o programa programa (e opicionalmente os argumentos para serem utilizados em programa).

Se o código de erro retornado por programa for 0 (zero), o texto indicado em erro será enviado para o remetente, logado no sistema de logs e a mensagem não será entregue.

Se programa retornar qualquer outro código de erro ou não existir, bouncesaying sai com código de erro 0 (zero) e continua o processo.

Se não for informado nenhum programa, bouncesaying sempre retornará a mensagem indicada em erro:

bouncesaying 'This address no longer accepts mail.'

2.2. condredirect

condredirect novoendereço programa [ argumentos ]

Redireciona o e-mail para o programa programa(e opicionalmente os argumentos para serem utilizados em programa).

Se o código de erro retornado por programa for 0 (zero), condredirect redireciona o e-mail para novoendereço e sai com código de erro 99 (noventa e nove), ignorando qualquer outro comando.

Se o código de erro retornado por programa for 111 (cento e onze), condredirect sai com código de erro 111, o e-mail volta para a fila de e-mails e a entrega será tentada novamente mais tarde.

Se programa retornar qualquer outro código de erro ou não existir, condredirect sai retornando código de erro 0 (zero) e continua o processo de entrega da mensagem.

OBS: Se habilitar condredirect em um arquivo .qmail, não se esqueça de adicionar uma linha especificando a entrega na sua caixa de e-mail.

Ex: conteúdo do arquivo $HOME/.qmail

| condredirect telles@newdomain.com $HOME/meuscript.sh

2.3. except

except programa [ argumentos ]

Altera o código de retorno de erro de um programa.

Se programa retornar o código de erro 0 (zero), except sai com código de erro 100 (cem).

Se programa sair com código de erro 111 (cento e onze), except também sai com código de erro 111.

Qualquer outro código de erro retornado por programa faz com que except saia com código de erro 0 (zero).

except é normalmente utilizado em conjunto com bouncesaying e condredirect.

Ex: conteúdo do arquivo $HOME/.qmail

| bouncesaying ‘Apenas p/ o assunto qmail !’ except grep -qi ‘Sobre qmail’

./Maildir/

O exemplo acima, faz com que bouncesaying retorne o e-mail para o destinatário caso o e-mail não contenha as palavras ‘Sobre qmail’ no cabeçalho do e-mail ou em seu corpo.

2.4. forward

forward recipiente1 recipiente2 ...

Redireciona novos e-mails para um ou mais endereços de recipientes.

Possui o mesmo efeito que inserir cada endereço dentro de um arquivo .qmail, mas com a vantagem de poder contruír o endereço de e-mail do recipiente no momento da entrega.

Ex:

| forward ${LOCAL/rodrigo/rodrigo-lixo}@${HOST}

No exemplo anterior, quando utilizado no arquivo .qmail dentro do diretório $HOME do usuário rodrigo, forward encaminhará todas as novas mensagens para a conta rodrigo-lixo do mesmo domínio que rodrigo.

2.5. maildirwatch

Monitora o diretório de e-mail do usuário e reporta quando novas mensagens são recebidas, exibindo um pequeno sumário com as novas mensagens.

maildirwatch imprime na tela, um sumário de novas mensagens 2 (duas) vezes por minuto.

maildirwatch utiliza a variável de ambiente $MAILDIR para identificar o diretório a ser monitorado.

Foi desenvolvido para ser executado em um terminal compatível com VT100; limpa a tela antes da impressão de cada sumário.

2.6. preline

preline [ -dfr ] programa [ argumentos ]

Sujeita cada nova mensagem atravéz de programa.

Por padrão, preline adiciona 3 (três) campos no cabeçalho do e-mail.

Os campos From:, Return-Path: e Delivered-To: são adicionados ao cabeçalho do e-mail (caso já não existam) com seus respectivos valores.

Algumas opções podem ser utilizadas para modificar a ação padrão de preline.

Opção

Descrição

-d

Não insere o campo Delivered-To:. Utilize esta opção quando o recipiente da mensagem de entrada está atualmente sob controle remoto, mas foi enviada aqui atravéz de control/virtualdomains para roteamento manual.

-f

Não insere o campo From:.

-r

Não insere o campo Return-Path:.

2.7. qbiff

Imprime uma mensagem no terminal do usuário quando um novo e-mail chegar em sua caixa de e-mails.

Para que esta notificação funcione, é necessário que o programa qbiff esteja devidamente configurado no arquivo $HOME/.qmail do usuário.

Ex:

./Maildir/

| qbiff

OBS: É necessário habilitar o recebimento de mensagens no terminal do usuário via ‘biff y’.

2.8. qreceipt

qreceipt seu-email

Responde à mensagens que solicitam uma confirmação de recebimento.

Se seu-email estiver contido no campo Notice-Requested-Upon-Delivery-To: do cabeçalho do e-mail, qreceipt enviará uma notificação de recebimento ao remetente.

OBS: Se habilitar qreceipt em um arquivo .qmail, não se esqueça de adicionar uma linha especificando a entrega na sua caixa de e-mail.

Ex:

./Maildir/

| qreceipt telles@domain.org

A mensagem que o remetente da mensagem receberá, será algo como:

From: DELIVERY NOTICE SYSTEM <endereco-remetente>

To: <endereco-remetente>

Subject: success notice

Hi! This is the qreceipt program. Your message was delivered to the

following address: telles@domain.org. Thanks for asking.