[Postfix-br] Help with Postfix - Anvil

Márcio Merlone marcio.merlone em a1.ind.br
Sexta Novembro 21 17:02:35 BRST 2014


On 21-11-2014 15:45, Mario Jorge Lima wrote:
> Por exemplo, no meu Servidor, o meu Email 
> "mariolima at multisites.com.br" tem como Usuario de Login 
> "multi-mariolima". O usuario "info at multisites.com.br" tem como Usuario 
> de Login "multisites", e assim por diante.
Estes endereços x usuários devem estar em alguma base de dados, mesmo 
que em arquivos texto, mas provavelmente em MySQL ou LDAP, certo?

> O que eu deveria fazer, seria, por exemplo, colocar nesse parametro do 
> /etc/postfix/main.cf praticamente toda a minha tabela de usuarios 
> "/etc/postfix/virtual" ?
Meu caso: Tenho os usuários em LDAP, onde o login for 'nome.sobrenome' o 
endereço é sempre 'nome.sobrenome at a1.ind.br'. Neste caso fica bem simples:

main.cf:
smtpd_sender_login_maps = regexp:/etc/postfix/sender_maps.regexp, 
ldap:/etc/postfix/ldapowner.cf

sender_maps.regexp:
/(.*)@a1.ind.br/                        ${1}

Só isto basta pro fulano.beltrano não enviar e-mail com from: 
abelardo.barbosa at a1.ind.br por exemplo.

No teu caso vai precisar algo mais, no meu exemplo acima é o 
ldap:/etc/postfix/ldapowner.cf:
server_host                                     = ldap://127.0.0.1
search_base                                     = ou=People,dc=org
query_filter                            = (&(mail=%s)(objectclass=mailUser))
result_attribute                        = uid

Em meu caso, além de nome.sobrenome at a1.ind.br alguns usuários também 
podem enviar em nome de outros endereços, como o comercial at a1.ind.br, 
cuja solução é igual à que você precisa. Com o ldapowner acima, quando 
alguém tentar enviar um email com remetente "comercial at a1.ind.br" o 
postfix consulta no LDAP quais os uid's de usuário têm o endereço de 
e-mail "comercial at a1.ind.br". Se o(s) uid(s) for(em) diferente do 
autenticado ele recusa a mensagem. Posso ter um ou mais logins 
autorizados para o endereço "comercial at a1.ind.br". Só tem que adaptar o 
conceito pra base que você usa.

> Isso faria com que, cada email que fosse enviado usando o SMTP nesse 
> meu Servidor seria varrido contra essa tabela e caso nao houvesse 
> informacao dele ali, nao enviaria? O que acontece entao?
Dito acima.

Exemplo de log do postfix, que achei por ai na internet:

Oct 17 09:21:40 debian postfix/smtpd[1643]: NOQUEUE: reject: RCPT from
unknown[x.x.x.x]: 553 5.7.1 <sender at example.com>: *Sender address rejected:
not owned by user sender at example.com*; from=<sender at example.com>
to=<receiver at gmail.com> proto=ESMTP helo=<[192.168.1.5]>

> Se for isso, nao vai afetar a performance do Servidor?
Como o recurso é nativo do postfix é desprezível. Obviamente é ciclo de 
cpu a mais que vai usar, mas não chega a coçar. Também considere que com 
isso você vai economizar outros ciclos de cpu deixando de receber e 
tratar mensagens indevidas.

> Desculpe essas perguntas todas. Obrigado pela ajuda.
Minha magnânimidade só não é maior que minha humildade, que é a maior do 
mundo, portanto eu te perdôo (não tem o quê). Espero ter ajudado.

Bom fim de semana a todos.

-- 
*Marcio Merlone*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/postfix-br/attachments/20141121/ebefcfb5/attachment.html>


More information about the Postfix-br mailing list