Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Autenticação no Sendmail
Colaboração: Peder Munksgaard
Data de Publicação: 14 de Julho de 2003
Durante muito tempo, procurei por tutorias, manuais e ate mesmo listas de discussoes onde falassem sobre Authenticacao no Sendmail.
Apos longas semanas tentando fazer com que e meu bom e velho Sendmail (heheheh Pelo menos eu acho muito bom!), consegui um excelente resultado. (Neste caso, nao abordarei a questao da seguranca utilizando Criptografia para autenticacao segura, estaremos lidando com o RUIM e VELHO "Plain Text").
Vamos aos passos iniciais:
1) Baixe os programas Sendmail e Cyrus-sasl: (hoje as versoes mais atuais e utilizadas neste tutorial estao descritas abaixo)
sendmail.8.12.9.tar.gz cyrus-sasl-1.5.28.tar.gz
2) Descomprima os mesmos em um diretorio preferencialmente em comum para que voce nao se perca:
$ tar -zxvf cyrus-sasl-1.5.28.tar.gz $ tar -zxvf sendmail.8.12.9.tar.gz
3) Vamos a instalacao do cyrus-sasl:
$ cd cyrus-sasl-1.5.28 $ ./configure --enable-login $ make $ make install
(a linha abaixo é necessaria para leitura de bibliotecas do sasl pelo sendmail) ln -s /usr/local/lib/*sasl* /usr/lib/
Agora vamos a configuracao:
$ cd /usr/lib/sasl $ vi Sendmail.conf (isso mesmo, S com letra maiuscula)
Agora insira no Arquivo Sendmail.conf a seguinte linha: pwcheck_method: shadow Nao se esqueca que a distancia entre o ":" e a palavra shadow é um TAB.
Estamos com o Cyrus-SASL OK, devidamente instalado e configurado. Seguimos para o Sendmail! =)
Volte ao diretorio onde vc descomprimiu o seu source do sendmail e faca os seguintes passos:
$ cd sendmail-8.12.9 $ cd devtools/Site $ vi site.config.m4
Dentro do arquivo site.config.m4 insira as seguintes linhas:
define(``confSTDIO_TYPE',``portable') APPENDDEF(``confENVDEF',``-DSASL') APPENDDEF(``conf_sendmail_LIBS',``-lsasl') APPENDDEF(``confLIBDIRS',``-L/usr/lib/sasl') APPENDDEF(``confINCDIRS',``-I/usr/local/include')
Beleza, agora que voce ja criou o site.config.m4 vamos aos confs do Sendmail: Supondo que voce ainda esteje dentro do diretorio sendmail-8.12.9/devtools/Site, digite:
$ cd ../../cf/cf $ vi sendmail.mc
Agora, colarei um exemplo inteiro do sendmail.mc incluindo utilizacao do SpamCop:
divert(-1)
#
# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers.
# All rights reserved.
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
# Copyright (c) 1988, 1993
# The Regents of the University of California. All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#
#
# This is a generic configuration file for Linux.
# It has support for local and SMTP mail only. If you want to
# customize it, copy it to a name appropriate for your environment
# and do the modifications there.
#
divert(0)dnl
VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $')
OSTYPE(linux)dnl
DOMAIN(generic)dnl
define(``confAUTH_MECHANISMS',``LOGIN DIGEST-MD5 CRAM-MD5 PLAIN')
TRUST_AUTH_MECH(`LOGIN DIGEST-MD5 CRAM-MD5 PLAIN')
FEATURE(`virtusertable')dnl
FEATURE(`access_db')dnl
FEATURE(`redirect')dnl
FEATURE(``dnsbl',``bl.spamcop.net', `"Spam blocked see: http://spamcop.net/bl.shtml?"$&{client_addr}')dnl
FEATURE(`accept_unresolvable_domains')dnl
MAILER(local)dnl
MAILER(smtp)dnl
define(``confALIAS_WAIT',``0')dnl
Otimo, salvamos o arquivo sendmail.mc, agora digite ainda dentro do diretorio cf:
$ sh Build install-cf $ cd ../.. $ sh Build all $ sh Build install
Agora é só restartar o seu sendmail:
$ /etc/rc.d/rc.sendmail restart
Pronto, voce acaba de configurar o seu sendmail para utilizar Authenticacao por senha.
Gostaria de lembrar, que todos os passos acima, foram executados em um Slackware (preferencialmente da versao 8.1 para cima, pois a distribuicao do sendmail que ja vem com o mesmo e a familia 8.12.x, sendo assim, voce nao precisa se preocupar com a criacao de usuarios e setar permissoes para rodar o sendmail pois tudo isso jah vem pronto.)
Para testar seu sendmail com autenticacao, basta executar os seguintes comandos:
$ telnet localhost 25
Apos o retorno padrão do sendmail digite EHLO localhost como mostrado abaixo:
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 server03.cruiser.com.br ESMTP Sendmail 8.12.9/8.12.9; Thu, 22 May 2003 10:29:16 -0300 EHLO localhost
E voce tera o seguinte retorno do sendmail:
250-server03.cruiser.com.br Hello localhost [127.0.0.1], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-EXPN 250-VERB 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH LOGIN PLAIN 250-DELIVERBY 250 HELP
Pronto, caso apareca a opcao "AUTH LOGIN PLAIN" significa que esta tudo certo, e agora basta utilizar qualquer cliente de e-mail com suporte a autenticacao de senha no smtp que voce conseguirá enviar e-mails de qualquer lugar do mundo!
Qualquer duvida, entre em contato comigo pelo E-mail: <peder (a) pm eti br>
Abraços a todos,
Att.,
Peder Munksgaard
Veja a relação completa dos artigos de Peder Munksgaard
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
Opinião dos Leitores
16 Fev 2009, 09:42
sudo apt-get update
sudo apt-get install cyrus-imapd-2.2
sudo apt-get install libsasl2-2 sasl2-bin libsasl2-2 libsasl2 libsasl2-dev libsasl2-modules
22 Jan 2008, 15:35
Sou novo também com o sendmail.
E gostaria de saber como faço para configurar o TLS nele.
Att.
Peterson Costa
21 Nov 2006, 09:12
Estou começando agora a mexer no sendmail, gostaria de saber quais os diretórios que onde ficam os arquivos do sendmail e o comando básico de envio do e-mail, desde já agradeço pela ajuda.
Att
Leandro












