quinta-feira, 12 de fevereiro de 2009

Como configurar um relay de sendmail

Irei explicar como ativar um relay para o sendmail !

Levar em consideração: Onde estiver escrito servidor é o hostname do servidor.
PS: Esta configuração foi testada em Solaris 9 !

1) Criar um arquivo servidor.mc com o seguinte conteúdo
divert(0)dnl
include(../m4/cf.m4)
VERSIONID(`$Header$')
OSTYPE(`solaris8')
FEATURE(masquerade_envelope)dnl
MASQUERADE_AS(servidor.dominio.br)dnl
LOCAL_DOMAIN(`localhost.localdomain')dnl
FEATURE(`mailertable')dnl
FEATURE(`redirect')dnl
FEATURE(`access_db')
FEATURE(`accept_unqualified_senders')
MAILER(local)
MAILER(smtp)


2) Compilar o arquivo, gerando um ".cf"

# m4 servidor.mc >servidor.cf

3) Fazer backup do arquivo sendmail.cf original

# cd /etc/mail
# cp sendmail.cf sendmail.cf.bkp.`date "+%Y-%m-%d_%H%M"`

4) Copiar o arquivo gerado servidor.cf como /etc/mail/sendmail.cf

# cp /usr/lib/mail/cf/servidor.cf /etc/mail/sendmail.cf

5) Criar o arquivo /etc/default/sendmail, com a linha
MODE=-bd

6) Criar o arquivo /etc/mail/mailertable, com o conteúdo
dominio.com.br smtp:servidor exchange.dominio.br

6.1) Compilar a mailertable
# makemap hash /etc/mail/mailertable
7) Criar o arquivo /etc/mail/access, com o conteúdo
127.0.0.1 RELAY
dominio.com.br RELAY
dominio.br RELAY


7.1) Compilar a tabela de acesso
# makemap hash /etc/mail/access
8) Criar a tabela de servidores que estão os relay autorizado (/etc/mail/relay-domains) com o conteúdodo
servidor RELAY

(Obs.: Tem que ser o nome que o servidor reconhece como sendo o nome do host que quer fazer relay)

9) Verificar a configurações de DNS
# cat /etc/resolv.conf
nameserver xx.xx.xx.30
nameserver xx.xx.xx.30
domain dominio.br

10) Alterar a configurações do Name switch (/etc/nsswitch.conf)
== Na linha
hosts: files
== Alterar para
hosts: files dns

11) Alterar o arquivo /etc/hosts, eliminando o "." como alias do host
Linha original
xx.xx.xx.204 servidor loghost . servidor.dominio.br
Linha alterada
xx.xx.xx.204 servidor loghost servidor.dominio.br

12) Iniciar o sendmail e realizar os testes

# /etc/init.d/sendmail start
# mailx -v -s "Teste" e-maildeteste@yahoo.com.br
teste
.

Espero ter ajudado !

Nenhum comentário: