De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 18 de Junho de 1999
O sendmail é um programa de entrega de mensagens que oferece inúmeras opções de configuração. Uma delas é a facilidade de se realizar alterações no campo de endereço das mensagens. Os endereços dos recipientes ou destinatários das mensagens podem ser alterados de acordo com especificações fornecidas pelo administrador de redes. Estas definições são armazenadas em um banco de dados externo que é consultado pelo sendmail sempre que processar uma mensagem.
Normalmente, os endereços são consultados no arquivo /etc/aliases. Se não forem encontrados lá, é então consultado o arquivo chamado .forward, no diretório pessoal do usuário. Se o banco de dados dos usuários (userdb) estiver habilitado, as definições deste banco de dados serão consultadas após a consulta ao arquivo /etc/aliases e antes da consulta ao arquivo .forward.
O userdb é compilado automaticamente quando o sendmail é compilado com suporte ao NEWDB ou HESIOD. Para verificar se o seu programa sendmail provê este suporte, emitir o comando:
# sendmail -d0.1 -bt < /dev/null Version 8.9.3 Compiled with: LOG MATCHGECOS MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETUNIX NEWDB QUEUE SCANF SMTP USERDB XDEBUG ^^
Como podemos ver, a versão do sendmail é 8.9.3 e o suporte ao USERDB está habilitado.
Precisamos agora sinalizar ao sendmail onde se encontra este banco de dados. Precisamos incluir no arquivo /etc/sendmail.cf a definição:
O UserDatabaseSpec=/etc/userdb.db
Caso o arquivo /etc/sendmail.cf seja criado a partir do m4, incluir no arquivo mc correspondente a seguinte linha:
define(`confUSERDB_SPEC',/etc/userdb.db)
O passo seguinte é criar o banco de dados de usuários. Isto é feito usando-se o comando makemap:
# makemap btree /etc/userdb.db < /etc/userdb
O banco de dados, ou mapa, será criado tomando por base o arquivo no formato texto que se encontra em /etc/userdb.
O arquivo /etc/userdb consiste de entradas contendo dois valores: uma chave e seu valor correspondente. A chave é a identificação de um usuário (username), seguido de ":" e um de dois valores possíveis: maildrop ou mailname. A palavra chave utilizada determina a natureza do campo seguinte.
Por exemplo:
root:maildrop queiroz@ccuec.unicamp.br,joao@unicamp.br
No exemplo acima, mensagens endereçadas para o usuário root são direcionadas para os usuários <queiroz (a) ccuec unicamp br> e <joao (a) unicamp br>. Os endereços para onde as mensagens são redirecionadas devem ser separados por vírgulas. É também possível incluir-se um endereço por linha, como abaixo:
root:maildrop queiroz@ccuec.unicamp.br root:maildrop joao@unicamp.br
Neste segundo caso, o comando makemap deve ser invocado com a opção "-i".
A outra possibilidade é a utilização da palavra chave mailname:
queiroz:mailname queiroz@dicas-l.com.br joao:mailname joao@acme.com.br maria:mailname maria@netroad.com
Os valores acima fazem com que mensagens enviadas pelo usuário queiroz saiam identificadas como se tivessem sido enviadas por <queiroz (a) dicas-l com br>. As mensagens enviadas pelo joao sairão como se tivessem sido enviadas por <joao (a) acme com br>.
Esta configuração é bastante útil para provedores de acesso, que possuem vários clientes, cada um dos quais com um domínio diferente. Desta forma cada um dos clientes poderá enviar mensagens e sua identificação corresponderá ao domínio de sua empresa.
Veja o trecho do cabeçalho de uma mensagem:
From queiroz Thu Jun 3 08:01:37 1999 Return-Path: <queiroz@dicas-l.com.br> Received: (from queiroz@localhost) by galaxy.ccuec.unicamp.br (8.9.3/8.9.1) id IAA05608 for queiroz; Thu, 3 Jun 1999 08:00:21 -0300
Como se pode ver, o valor do caminhao de retorno é <queiroz (a) dicas-l com br>.
O Unix limita o nome dos usuários em oito caracteres. Desta forma não é possível ser muito criativo na forma como os nomes dos usuários são definidos. A facilidade userdb nos permite também um maior grau de flexibilidade neste aspecto. Veja o exemplo:
queiroz:mailname Rubens.Queiroz Rubens.Queiroz:maildrop queiroz
Não esquecer que neste caso, onde o recipiente das mensagens é alterado, as entradas mailname e maildrop devem ocorrer em pares. Isto para que quando alguém responder a <Rubens Queiroz (a) ccuec unicamp br> a mensagem possa ser entregue corretamente ao usuário Unix chamado queiroz.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários