[FUG-BR] SMTP com autenticação

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Quinta Agosto 31 17:34:27 BRT 2006


Bruno Oliveira wrote:
> Boa tarde,
> 
> Estou procurando na internet, porém sem sucesso ainda uma documentação que me 
> ensine a adicionar autenticação no meu servidor Qmail, o objetivo é que para 
> enviar e-mails pelo meu servidor via algum programa seja necessário um 
> usuário e senha para isso, diferente do usuário e senha para logar no 
> servidor. Basicamente seria um usuário e senha para o POP3 e outro usuário e 
> senha para o SMTP.
> 
> Alguém poderia me ajudar ?

Bruno, nao tem nenhuma receita de bolo, mas a ideia eh bem simples. Voce 
  precisa de um programa qualquer que implemente a API checkpassword do 
DJB, que em linhas gerais pode ser implementada em menos de 10 linhas de 
codigo num programa. Existem toneladas de implementacoes alternativas, 
as mais comuns voce vai encontrar aqui:

http://qmail.usp.br/top.html#checkpassword

Escolha uma delas, tem uma (checkcdb) ai que confere os usuarios de um 
cdb, acho uma das mais indicadas.

Entao chame esse programa como argumento para o qmail-smtpd ao inves do 
autenticador que voce esta usando agora (por exemplo, ao inves de vchkpw 
caso esteja usando vpopmail). Basta popular corretamente a base desse 
checkpassword.

Outra alternativa e usar um programa que implemente essa API e faca 
distincao entre protocolos. No caso, o proprio vchkpw o faz. Voce pode 
com vmoduser definir se o usuario tem acesso POP, SMTP, etc. Entao se 
quiser pode usar o mesmo vchkpw para ambos, popper/smtpd e restringir as 
autenticacoes, por exemplo habilitando apenas pop no usuario X e apenas 
smtp no usuario Y.

Tem varios, em perl, em C, em python, usando mysql/pgsql/ldap/cdb como 
backend. E a ideia eh a mesma, quem quer que implemente a API do 
checkpassword pode ser usado.


-- 
Patrick Tracanelli

FreeBSD Brasil LTDA.
(31) 3281-9633 / 3281-3547
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"



Mais detalhes sobre a lista de discussão freebsd