Elvis Pfutzenreuter
Sua primeira versão foi escrita em 1979, por Eric Allman. Desde então, tem sido incluído em todas as distribuições UNIX. 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.9.2, que foi
liberada no final de 1998. O site mestre do sendmail é
http://www.sendmail.org.
As versões comerciais podem ser encontradas no site http://www.sendmail.com.
Vantagens do sendmail
Padrao da Internet
Mais de 70% dos servidores de e-mail utilizam o sendmail como MTA (mail transfer agent). O QMail ainda detém um sétimo lugar em utilização na Internet, atrás do Exchange Server da Microsoft e de outros.
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, da O´ Reilly, mais conhecido pelos íntimos como BatBook.
Ainda não existe um livro para o QMail, e a documentação sobre o mesmo na Internet ainda é pouca. Sua documentação on-line é suficiente porém esparsa, ainda pode melhorar bastante.
Configuração poderosa/flexível
A flexibilidade de configuração do sendmail é impressionante, bem superior a do QMail. Essa flexibilidade é herança de uma época onde redes TCP/IP, UUCP e outras tinham de conviver em harmonia. (Hoje, com o monopólio do TCP/IP e da uniformização da Rede, essa vantagem do sendmail já não é um diferencial tao importante.)
Suporte comercial
A Sendmail Inc., empresa fundada pelo próprio Eric Allman, vende versões comerciais do sendmail com front-end gráfico de configuração. Isso pode ser interessante para aqueles que precisam de suporte comercial ou fazem questão da configuração facilitada em modo gráfico.
No caso do QMail, o que existe são empresas que dão suporte comercial ao QMail, sem vinculação direta com o autor.
Versão para NT
Uma das versões comerciais é para a plataforma Windows
NT. Não existe versão do QMail para Windows.
O QMail foi escrito por D. J. Bernstein. A primeira versão pública
(beta, 0.7) foi liberada em Janeiro/1996.
Por ser um programa recente, levou em conta desde o início questões como segurança, que tornaram-se críticas após a difusão explosiva da Internet. Tambem levou em conta os problemas e complexidades do próprio sendmail; e procurou mimificar todos os seus recursos. Disso resultou um programa que é o principal concorrente free-software do sendmail.
A versão atual do QMail é a 1.03, liberada em junho/1998.
O site mestre do QMail é, previsivelmente, http://www.qmail.org.
Vantagens do QMail
Velocidade
Segundo o autor, o QMail é até 100 vezes mais rápido que o sendmail em determinadas tarefas.
Segurança
O QMail foi planejado desde o início para ser seguro. O autor chegou a oferecer um prêmio de US$ 1.000 para quem conseguisse invadir uma máquina por meio de uma fraqueza do QMail. Ninguém conseguiu, e o dinheiro acabou sendo doado à Free Software Foundation.
Enquanto o sendmail é um programa monolítico (um único executável que faz tudo) rodando com permissões de superusuário, o QMail é dividido em diversos executáveis, dos quais apenas um (o que gerencia a fila) tem permissão de superusuário. Mesmo que um invasor remoto consiga "tomar conta" de um dos programas de comunicação, nao terá permissão para fazer muita coisa. Já se ele tomar conta do sendmail, terá permissoes de superusuário.
Outro aspecto interessante do QMail é que ele usa uma biblioteca própria, diferenciada, para lidar com strings. Isso praticamente elimina a chance de ocorrer um estouro de buffer, que é o defeito mais comumente explorado na invasão de um programa.
Facilidade de configuração
A forma de armazenamento dos parâmetros de configuração é direta, honesta, em arquivos claramente nominados, é incrivelmente fácil de entender e manter.
Já no caso do sendmail, aos que vão querer ou vão precisar usá-lo, recomendo adquirir o BatBook. A configuração via macros é relativamente fácil, mas depois que você tiver uma boa noção do funcionamento geral do sendmail, e *isso* é dificil obter.
Adoção bem-sucedida por grandes usuários de e-mail
Empresas como Red Hat e Conectiva substituíram o sendmail
pelo QMail com grande sucesso.
Consultores e administradores de sistema deveriam estudar os dois programas, pois poderão ter de enfrentar situações do tipo "transição do sendmail para o QMail", ou "configuração do sendmail em servidor preexistente".
epx@netville.com.br
Configuração
(fonte: sendmail address rewriting mini-HOWTO)
Instale o sendmail. A maioria, se não a totalidade das distribuições Linux vem com o sendmail; basta instalar o respectivo TGZ ou RPM. A própria instalação já ativa o serviço na porta 25, basta reiniciar a máquina.
Configurar diretamente o arquivo /etc/sendmail.cf seria uma
aventura à parte. Aqui, utilizaremos um processador de macros (m4) para
gerar o arquivo de configuração. Quem quiser que use o diff para
ver em que pontos o /etc/sendmail.cf padrãozão será modificado.
# cd /usr/src/sendmail/cf/cf
Crie um arquivo de configuração com este conteúdo:
include(` ../m4/cf.m4´ )
VERSIONID(`versao EPX para workstations dial-up´)dnl
OSTYPE(linux)
FEATURE(nouucp)dnl
FEATURE(masquerade_envelope)
FEATURE(genericstable, `hash -o genericstable´)
GENERICS_DOMAIN_FILE(`/etc/genericsdomain´)
define(`SMART_HOST´,`netville.com.br´)
define(`ALIAS_FILE´,`/etc/aliases´)
MAILER(local)dnl
MAILER(smtp)dnl
A feature masquerade_envelope indica que queremos mascarar o remetente. De fato, queremos que epx@vnsa.netville.com.br saia como epx@netville.com.br para o mundo externo.
A definição SMART_HOST permite-nos dizer para que servidor de e-mail devemos passar adiante as mensagens não locais. Não queremos entregá-las nós mesmos, pois isso demoraria muito e ocuparia muito tempo de uma cara linha discada. Se fôssemos um provedor Internet, nao usaríamos esse recurso.
Note que as aspas simples que cercam alguns campos são aspas opostas (a crase à esquerda, o apostrofe à direita). Coisas de m4....
Depois execute o comando
# m4 epx.mc > /etc/sendmail.cf
Agora, vamos ao diretório /etc, criar algumas tabelas.
# cd /etc
# echo "" > genericstable
# echo "epx epx@netville.com.br" >> genericstable
# echo "root epx@netville.com.br" >> genericstable
# makemap -r hash genericstable.db < genericstable
A função desta tabela é determinar que os endereços da primeira coluna - no caso, endereços locais - serão convertidos para os endereços à direita. Quem eventualmente responder a um de nossos e-mails, mandará a resposta para a caixa postal do provedor, que atende 24h por dia e está registrada no DNS.
# echo "vnsa.netville.com.br" > genericsdomain
Os domínios constantes nesse arquivo serão considerados locais. Pelo menos no nosso caso, basta inserir o nome de nossa própria máquina.
# echo "postmaster: epx" > aliases
# newaliases
A função desta tabela é passar adiante os e-mails de certos usuários para outros. Todo servidor de e-mail deve aceitar mensagens para o usuário postmaster, então no nosso caso passaremos essas mensagens adiante para um usuário real.
# killall -1 sendmail
Ordenamos ao sendmail que releia nossos arquivos de configuração, e aí temos nosso próprio servidor de e-mail.