Você está na página 1de 8

Conteudo:

1. Introdução do Sendmail
2. Instalação do Sendmail
3. Configuração do Sendmail

Introdução

O correio eletrônico tornou-se uma ferramenta indispensável não só para tornar


mais rápida a comunicação dentro das organizações como também os processos,
fazendo com que o acesso às informações seja democrático e,
conseqüentemente, ajudar a popularizar as rotinas e procedimentos. Utilizar
correios eletrônicos comerciais e manter estes produtos atualizados, torna-se caro
para as organizações ou empresas. Uma maneira de evitar esses gastos é a
migração de seus serviços de e-mail para uma solução gratuita, sem perda de
funcionalidade, qualidade de produto ou segurança. Um sistema Livre é o
Sendmail, que é um servidor de correio eletrônico bastante utilizado na no mundo
da internet atualmente. Este dispõe de ferramentas que permitem estabelecer a
conexão via protocolo SMTP para enviar mensagens.
O Sendmail é um MTA - Mail Transport Agent - , ou seja, é um agente de
transporte de correio eletrônico cuja principal finalidade é aceitar mensagens a
partir de um agente de usuário de mensagens (MUA). MUA nada mais é do que
qualquer programa cliente de correio eletrônico usado para ler, responder e
receber as mensagens eletrônicas, como plataformas de Webmail (OpenWebMail,
Webmiau, IMP), clientes de console (Pine, Elm) a aplicativos gráficos (Outlook,
Thunderbird, Netscape Composer).

Histórico

Sua primeira versão foi escrita em 1979, por Eric Allman. Desde então, tem sido
incluído em todas as distribuições UNIX. Porém ele ficou um tanto "esquecido"
pelo autor entre 1982 e 1990. Por esse e outros motivos, os diversos fabricantes
de UNIX (IBM, HP, Sun) trataram de expandir e melhorar o Sendmail original. O
resultado desse processo foi o aparecimento de inúmeras versões incompatíveis
entre si.
Em 1994, Eric começou a trabalhar na versão 8.7 do Sendmail, que incorporou a
maioria das extensões apresentadas pelos UNIXes comerciais. Assim, o Sendmail
passou a ser novamente um programa único.
A versão atual do Sendmail é a 8.13.8.
Muitas pessoas se perguntam a razão para utilizarem o Sendmail Open Source em
vez de uma versão proprietária. Eis essas razões:

Atualizações de Segurança

Devido às suas funções e complexibilidade, o Sendmail tem alguns "buracos de


segurança". Quando um desses "buracos" é descoberto, é implementado um
patch imediatamente no Sendmail e uma nova versão do Sendmail é lançada. A
maioria das empresas que baseiam seus produtos no Sendmail utilizam esses
produtos baseados numa versão antiga do Sendmail (velha, com bugs e insegura)
e se recusam a lançar um patch de atualização para corrigir tais falhas.

Funções

O Sendmail está sob constante desenvolvimento por Eric Allman junto a um


grande time de programadores pelo mundo a fora. Novas funções, como Proteção
Anti-Spam, já estão incorporadas nas últimas versões do Sendmail.

Suporte

Embora uma empresa vendedora dê suporte para seus produtos baseados no


Sendmail, geralmente há custos para isso e essas empresas não se
resposabilizam por problemas como os usuários gostariam. O Sendmail é utilizado
num amplo número de sites pelo mundo, e se você tiver uma pequena iniciativa
que seja para tentar resolver algum problema que lhe esteja importunando há
sempre muitos usuários e administradores com conhecimentos avançados sobre o
Sendmail que poderão ajudá-lo e estão sempre dispostos a isso.

Padrão da Internet

Mais de 70% dos servidores de e-mail utilizam o Sendmail como MTA (mail
transfer agent).

Documentação

Existe uma quantidade razoável de documentação sobre o Sendmail na Internet;


existem HOWTOs dedicados a certos aspectos da configuração do Sendmail; e
caso tudo isso falhe, sempre há o livro Sendmail, mais conhecido pelos íntimos
como BatBook.

Configuração poderosa/flexível

A flexibilidade de configuração do Sendmail é impressionante, bem superior a dos


concorrentes. Essa flexibilidade é herança de uma época onde redes TCP/IP, UUCP
e outras tinham de conviver em harmonia. (Nos dias de hoje, com o monopólio do
TCP/IP e da uniformização da Rede, essa vantagem do Sendmail já não é um
diferencial tão importante.)
• Mudanças de endereços imediatos;
• Interação com DNS através de registros MX. Máquinas podem ser
renomeadas ou movidas e a entrega de mensagens se processa
normalmente ;
• Mensagens podem ser entregues por meio de programas que acessem
outras redes, tais como UUCP e BITNET ;
• Flexibilidade, onde você pode adicionar anti-spans, anti-vírus, criptografia
possibilitando ter um servidor de e-mail completo;
• Especificação de diretórios ; Possibilidade de implementar roteamento de
mensagens via LDAP (a partir da versão 8.10 ) ;
• Conexão encriptografada;
• Detecção automática de ataques;
• Autenticação de clientes.

Instalação do Sendmail

Para instalar o Sendmail em seu computador, faça o seguinte procedimento


(logado como super-usuário):

#apt-get update

Para atualizar as listas de pacotes dos respositórios do seu /etc/apt/sources.list.

Pré-Requisitos
Agora analisaremos os pré-requisitos para que o Sendmail possa funcionar.
Verifique se estes componentes já estão instalados.

1) Compilador GCC.
Já presente na maioria das distribuições linux. Caso não esteja instalado no seu
computador, digite:
#apt-get install gcc-4.1-base

2) Processador de Macros M4.


Muitos sistemas operacionais já vem com este processador de macros, mas caso
você não tenha. A finalidade deste pacote é facilitar a criação do arquivo de
configuração do sendmail, o arquivo /etc/sendmail.cf. Como veremos mais tarde,
a criação do arquivo sendmail.cf, através da facilidade oferecida pelo M4, se torna
muito mais simples. Para instalá-lo, digite:
#apt-get install m4

Instalando o Sendmail
Agora digite:

#apt-get install sendmail-bin


E espere que o APT irá baixar e instalar o Sendmail com suas dependências.

Configuração:

É aconselhavel fazer um backup dos arquivos em outra pasta para evitar


incômodos.

O Sendmail usa os seguintes arquivos de configuração:

/etc/mail/access - Arquivo da base de dados;


/etc/mail/aliases - Apelidos;
/etc/mail/local-host-names - Lista dos hosts que aceitam mensagens;
/etc/mail/sendmail.cf - É o arquivo de configuração principal do Sendmail;

/etc/mail/access
Neste arquivo você define quem tem acesso local ao servidor de e-mail (pode ser
host ou endereço de ip ) e qual o tipo de permissão que ele tem. Os tipos de
permissão são:
OK - permitido enviar email de maquinas locais para destinatários finais;
REJECT - são rejeitados quando tentam se conectar ao servidor de email;
RELAY - são permitidos de enviar email para qualquer destino através deste
servidor de email. Ou simplesmente deixar o email passar apenas indicando erros
de rotinas.
Exemplos de cada um respectvamente:
172.16.1 RELAY

200.250.129.3 RELAY

spam.com.br REJECT

zeus.spam.com.br OK

Aqui definimos que a rede 172.16.1.0 está habilitada para relay, isto é, utilizar
este servidor para enviar e-mails, assim como o ip 200.250.129.3, define-se
também que todos e-mails vindos do domínio spam.com.br sejam rejeitados,
menos os vindos da máquina zeus.spam.com.br.

Caso este arquivo sofra atualização você deve dar um comando make no diretório
etc/mail para atualizar a base de dados.

/etc/mail/aliases
Contém a lista dos apelidos que sofreram expansão
Exemplos:
MAILER_DEFAULT: postmaster

postmaster: root

root: administ

Isso diz para o Sendmail que todo e-mail vindo para o usuário "MAILER\_DEFAULT"
seja redirecionado para "postmaster". A terceira linha, define que todo e-mail
vindo para "root" seja redirecionado para o usuário "administ". Crie esse usuário
com o nome que preferir, assim fica mais fácil manter a administração do sistema
centralizando e-mails e mensagens de erros neste usuário, e evitando ter que
logar como root somente pra buscar e-mails.

Caso este arquivo sofra atualização você deve dar um comando make no diretório
etc/mail para atualizar a base de dados.

/etc/mail/local-host-names
Neste arquivo você define os nomes de hosts locais que são aceitos pelo
Sendmail. Se você colocou o domínio teste.com.br e o host mail.teste.com.br, o
local-host-names pode ter algo como por exemplo:

teste.com.br
mail.teste.com.br

Quando se atualizar o arquivo local-host-names, deve-se reiniciar o Sendmail.

/etc/mail/sendmail.cf
O arquivo Sendmail.cf é lido toda vez que o programa sendmail é inicializado.
Nele encontram-se as informações que o Sendmail necessita como:
• regras;
• configurações.
Linhas começadas com '\#' são comentários. Na seção seguinte falaremos sobre
as características do arquivo sendmail.cf, pois ele não é editado como os outros
arquivos citados acima, e sim gerado a partir do sendmail.mc.

O Sendmail possibilita a geração do arquivo \textbf{/etc/mail/sendmail.cf} através


do Processador de macros m4.
O arquivo de configuração é criado a partir da expansão das macros contidas em
um arquivo de configuração mestre, cuja terminação é mc (master configuration).
Este arquivo possui a seguinte estrutura:

VERSIONID
OSTYPE
DOMAIN
FEATURE
LOCAL MACRO DEFINITIONS
MAILER

VERSIONID
É uma macro que grava informação sobre a versão do arquivo de configuração gerado.

OSTYPE
Define a versão do sistema operacional para que o Sendmail funcione adequadamente no SO. Um
caminho é /usr/share/sendmail/cf/ostype, onde você encontra o linux.m4. É aconselhavel escrever
OSTYPE(linux) sem a extensão.

DOMAIN
Diretório onde encontra as modificações que o Sendmail necessita para
instalação. Caso seja DOMAIN(teste.com.br), na formação do arquivo Sendmail.cf
os valores contidos em teste.com.br.m4 serão os parâmetros do Sendmail.
Exemplo de um arquivo da pasta DOMAIN do arquivo Berkeley.EDU.m4.
FEATURE
Representa opções especiais que podem ser configuradas. A seguir são listadas
algumas opções de maior importância:

FEATURE(`allmasquerade')
FEATURE(`access_db')
FEATURE(`always_add_domain')
FEATURE(`blacklist_recipients')
FEATURE(`local_procmail')
FEATURE(`masquerade_entire_domain')
FEATURE(`masquerade_envelope')
FEATURE(`nullclient´,`servidor smtp')
FEATURE(`relay_entire_domain')
FEATURE(`relay_local_from´)
FEATURE(`redirect')
FEATURE(`smrsh')
FEATURE(`use_cw_file')
FEATURE(`virtusertable')

LOCAL MACRO DEFINITIONS


Definições de macros,por exemplo:

define(`confMAX_DAEMON_CHILDREN',`50') - número máximo de processos que


podem ser gerados pelo servidor;
define(`confMAX_MESSAGE_SIZE',`1024') - tamanho máximo da mensagem;
define(`confTO_QUEUERETURN',`4d') - tempo de retorno caso a mensagem não
possa ser entregue;
define(`confTO_QUEUEWARN',`3h') - tempo de envio da notificação para
remetente caso a mensagem seja indeferida.

Outras 'define' interessantes podem ser encontradas no endereço:


http://www.sendmail.org/m4/tweaking_config.html.

MAILER
Define os agentes de entrega de mensagens que o seu sistema irá utilizar:

Exemplo:

MAILER('smtp')
MAILER('ssh')
MAILER('procmail')
MAILER('local')
MAILER('uucp')
MAILER('usenet')
MAILER('fax')
MAILER('pop')
MAILER('cyrus')
Lista de MAILER aceita pelo Sendmail:
http://www.sendmail.org/~ca/email/doc8.12/cf/m4/mailers.html

Obs.: é necessário que o arquivo sendmail.cf tenha a seqüência a baixo:


VERSIONID
OSTYPE
DOMAIN
FEATURE
LOCAL MACRO DEFINITIONS
MAILER