Está en la página 1de 27

GOSTARIA DE UM PASSO A PASSO PARA CONFIGURAR O

SENDMAIL PELO LINUXCONF.

### 5.1 e anteriores ###

Este passo a passo foi montado baseado no livro Guia do Servidor da Conectiva.

Para configurar o Sendmail pelo linuxconf execute os seguintes procedimentos:

Abra o linuxconf

[root@localhost]# linuxconf

Para adicionar o módulo do configurador do Sendmail

Arquivos de controle e sistema Configurar os módulos do Configurador Linux

Escolha a opção:

mailconf [X] configuração do servidor de mail (Sendmail)

Peça pela opção aceitar e sair.

Na parte:

Ambiente de Rede

Sendmail - sistema de envio de emails

Nas opções de básico, entre na opção:

Informações básicas

Veja as opções: (Cada linha, está comentada de suas funções)

Apresentar seu sistema como : <domínio>


[X]Aceitar email para <domínio>
Servidor de email :
Roteador de email :
Protocolo roteador de email : smtp

(Mesmo que o email venha de máquinas diferentes de sua empresa, você pode querer esconder
esse fato e apresentar os emails como se eles tivessem vindo de apenas uma máquina ou
domínio. Se você está configurando o servidor principal de uma empresa, você deve selecionar
aceitar email para dominio. No Servidor de email, coloque a máquina+domino que será o
servidor de email, e em protocolo a mesma máquina. Se sua configuração for simples deixe em
branco)

funcionalidades
[ ] confirmar nomes completos
de usuários
[X] Ativar controle de envio
(spammers)
Tamanho máximo das mensagens:( )no limite ____________
[ ] Não tentar enviar
imediatamente
Processar consulta a cada(min):( ) manual 1
( ) Usar a shell especial smrsh
Maximum recipients per msg (o) Defaults _____________

(Habilite a opção de Ativar controle de envio, evitando assim que usem o servidor smtp para
spam. No tamanho das mensagens coloque o valor máximo que as mensagens irão ter. na
próxima opção evita que o sendmail envie imediatamente as mensagens, e na opção seguinte
qual será o tempo de intervalo de envio.)

Funcionalidades por DNS


[ ] Esperar pelo DNS
[ ] não usar DNS

(O Sendmail faz um uso pesado do DNS. Máquinas sem conexão direta com a Internet (mesmo
atrás de um firewall) podem querer desativar o uso do DNS. Por outro lado, máquinas com uma
conectividade normal do DNS devem forçar o uso do DNS)

Diversos
[X] Não usar batch para email UUCP
Tamanho máx para mensagens UUCP: 20000
Entrega Local para usuários : root
Não mascara origem de: : root
Usuários Autorizados : root daemon uucp
Banco de roteamento especiais : [ ]
Formato do banco de roteamentos: hash
Agente de entrega local :
[ ]Suporte a Cliente Bogus(HELO)

(Quando usa-se UUCP repetidamente, as mensagens são normalmente requisitadas e entregues


em intervalos regulares. Marque para processá-las imediatamente, recomendado para tráfego
pouco intenso) Entrega para usuários locais: Coloque o nome dos usuários para quem quer
ignorar a definição de Servidor de email. As mensagens sempre serão guardadas localmente
para estes usuários. Essa funcionalidade é normalmente usada para pseudo-usuários
administrativos (root por exemplo). A opção não mascara usa-se para saber qual o usuário e de
qual máquina ele mandou. O Agente de entrega refere-se a utilitários de entrega, ex: Procmail.
use a opção deixar o linuxconf localizar. Deixe o resto em branco)

Apelidos do domínio
Apelidos para o seu sistema:

( Coloque nesta opção outros domínios que o sr. quer que seu sistema aceite)

Confirme. Para uma configuração básica do Sendmail, só os primeiros itens são necessário, com
isso seu sistema já estará trabalhando, faltando apenas descomentar o pop no intetd e startar o
inet e o sendmail.

A seguir, instruções das outras opções do Sendmail:

Opção ---> Roteamento especial (domínio)

Adicionar

Destino :
Repetidor :
[ ]Gerenciar subdomínio da mesma forma
Transporte :
(Em muitos sistemas, é útil habiltar para informar
ao sendmail qual a rota de envio das mensagens)

Opção --->Roteamento complexo (usuário)

Adicionar

[ ] esta regra está ativa


Para: Original :
PAra: Novo :
Reenviar para servidor(opc) :
Transporte : smtp
Comentário :

(Serve para apontar um email de usuário@dominio para <outrosusário@outrodomínio>)

Opção --->Regras de mascaramento

Adicionar

[ ] esta regra está ativa


De: Original :
De: Novo :
Comentário :

(Você pode definir regras de transformação simples que serão aplicadas a todos os emails
enviados pelo sendmail. No geral, você especifica um De: e como este De: deve ser convertido.)

Opção --->Domínio Virtual de Email

Adicionar

Domínio Virtual :
Destino de retorno :
Alocar UID de :
Limitar a caixa do usuário para (kb):
[ ] Match User full name
Filter program + args (opc):
Arquivos de Aplelidos:

Apelidos opcionais

(Domínios virtuais de email são um jeito de se gerenciar listas independentes de usuários no


mesmo servidor. Cada domínio virtual tem seu próprio arquivo de senhas, seu próprio diretório
de email e seu próprio arquivo de apelidos. Para cada domínio virtual de email, o Configurador
Linux irá definir:

* /etc/vmail/passwd.domínio_virtual
* /etc/vmail/shadow.domínio_virtual
* /etc/vmail/aliases.domínio_virtual
* /var/spool/vmail/domínio_virtual/
* /vhome/domínio_virtual/

onde domínio_virtual é um domínio, como foo.com.br por exemplo.)

Opção --->Apelidos Para usuário

Adicionar

(Nesta opção definimos apelidos para os usuários ex: Usuário - <Teste@conectiva> e


queremos que o mesmo tenha um outro email: <teste2@conectiva>. Usamos o apelido para
acrescentar o teste2, e o usuário receberá as mensagens enviadas para teste2. Pode ser usada
para pequenas listas de mail.)

E por fim, peça a opção gerar o arquivo CF. Após esta criação, saia do configurador linux e edite
o inetd.conf para habilitar as funções de correio:

[root@localhost]# cd /etc
[root@localhost]# mcedit inetd.conf
Descomente a linha:

pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

Salve o arquivo e saia, reinicie o inetd:

[root@localhost]# cds
[root@localhost]# ./inet restart

E inicie o sendmail

[root@localhost]# ./sendmail start

Configuração Filtros Anti-SPAM

Nas Configurações anti-spam, veja as opções:

• Remetentes rejeitados

Coloque aqui o mail que deseja-se restrigir: Origem do mail : <nome@dominio>


Mensagem de erro: Seu e-mail foi rejeitado .

• Repetir para 'por ip'

Aqui você informa uma lista de números IP (máquinas ou redes) para quem seu servidor
poderá repetir os emails.

• Repetir para por nome

Aqui você informa uma lista de nomes de máquina e domínios para quem seu servidor
poderá repetir os emails.

• Repetir para máquinas

Aqui você informa uma lista de servidores de email os quais usam o seu servidor como
roteador.

### CL6.0 ###

Para configurar o Sendmail pelo linuxconf execute os seguintes procedimentos:


Abra o linuxconf

[root@localhost]# linuxconf

Para adicionar o módulo do configurador do Sendmail

Arquivos de controle e sistema->Configurar os módulos do Configurador Linux

Escolha a opção:

mailconf [X] configuração do servidor de mail (Sendmail)

Peça pela opção aceitar e fechar.

Em:

Ambiente de Rede-> Sendmail - sistema de envio de emails

Nas opções de básico, entre na opção:

Informações básicas

Veja as opções: (Cada linha, está comentada de suas funções)

#Apresentar seu sistema como : domínio


# [X]Aceitar email para domínio
#Servidor de email :
#Roteador de email :
#Protocolo do roteador de email : smtp
#----------------------------------------------------------
(Mesmo que o email venha de máquinas diferentes de
sua empresa, você pode querer esconder esse fato
e apresentar os emails como se eles tivessem
vindo de apenas uma máquina ou domínio.
Se você está configurando o servidor principal de uma
empresa, você deve selecionar aceitar email para dominio.
No Servidor de email, coloque a máquina+domino que será
o servidor de email, e em protocolo a mesma máquina. Se
sua configuração for simples deixe em branco)

#-------------------funcionalidades---------------------------
# [ ] confirmar nome completo
# do usuário
# [X] Ativar controle de envio
# (spammers)
# [ ] usar RealTime Blackhole List (RBL)
# [ ] Habilitar o comando VERIFY SMTP
# [ ] Habilitar o comando EXPN SMTP
#
#------------------------entrega-------------------------------
#
#Tamanho máximo das mensagens: ( )sem limite ____________
# [X] Não tentar enviar
# imediatamente
#Processar consulta a cada(min): ( ) manual 1
# [ ] Usar o shell especial smrsh
#Máx de destinatários por msg. (o) Padrões _____________

(Habilite a opção de Ativar controle de envio,


evitando assim que usem o servidor smtp para
spam. No tamanho das mensagens coloque o valor
máximo que as mensagens irão ter. na próxima
opção evita que o sendmail envie imediatamente
as mensagens, e na opção seguinte qual será o
tempo de intervalo de envio.)

#_-------------------Funcionalidades por DNS---------------


# [ ] Esperar pelo DNS
# [ ] Não usar DNS

(O Sendmail faz um uso pesado do DNS. Máquinas


sem conexão direta com a Internet (mesmo atrás de
um firewall) podem querer desativar o uso do DNS.
Por outro lado, máquinas com uma conectividade normal
do DNS devem forçar o uso do DNS)

#-------------------Diversos---------------------------
# [X] Não usar batch para email UUCP
#Tamanho máx para mensagens UUCP: 20000
#Entrega Local para usuários : root
#Não mascara origem de: : root
#Usuários Autorizados : root daemon uucp
#Roteamento especial db. : [ ] Ativo
#Roteamento especial formato db.: hash
#Agente de entrega local :
[ ]Suporte a Cliente Bogus(HELO)

(Quando usa-se UUCP repetidamente, as mensagens são


normalmente requisitadas e entregues em intervalos regulares.
Marque para processá-las imediatamente, recomendado para
tráfego pouco intenso)
Entrega para usuários locais: Coloque o nome dos usuários para
quem quer ignorar a definição de Servidor de email. As mensagens
sempre serão guardadas localmente para estes usuários.
Essa funcionalidade é normalmente usada para pseudo-usuários
administrativos (root por exemplo). A opção não mascara usa-se
para saber qual o usuário e de qual máquina ele mandou. O
Agente de entrega refere-se a utilitários de entrega, ex:
Procmail. use a opção deixar o linuxconf localizar. Deixe
o resto em branco)

#--------------------Apelidos do domínio--------------------
# Apelidos para o seu sistema:

( Coloque nesta opção outros domínios que o sr.


quer que seu sistema aceite)
Confirme. Para uma configuração básica do Sendmail, só os
primeiros itens são necessário, com isso seu sistema já
estará trabalhando, faltando apenas descomentar o pop
no intetd e startar o inet e o sendmail.

A seguir, instruções das outras opções do Sendmail:

Opção ---> Roteamento especial (domínio)


-----> Adicionar

#--------------------------------------------------
#Destino :
#Repetidor :
# [ ]Gerenciar subdomínio da mesma forma
#Transporte :
(Em muitos sistemas, é útil habiltar para informar
ao sendmail qual a rota de envio das mensagens)
#---------------------------------------------------

Opção --->Roteamento complexo (usuário)


-------> Adicionar
#--------------------------------------------------
# [ ] esta regra está ativa
#Para: Original :
#Para: Novo :
#Reenviar para servidor(opc) :
#Transporte : smtp
#Comentário :

(Serve para apontar um email de usuário@dominio


para outrosusário@outrodomínio)

Opção --->Regras de mascaramento


-------> Adicionar
#--------------------------------------------------
# [ ] esta regra está ativa
#De: Original :
#De: Novo :
#Comentário :
#--------------------------------------------------
(Você pode definir regras de transformação simples que serão
aplicadas a todos os emails enviados pelo sendmail. No geral,
você especifica um De: e como este De: deve ser convertido.)

Opção --->Domínio Virtual de Email


-------> Adicionar
#----------------------------------------------------------
#Domínio Virtual (fdqn) :
#-----------------Informações básicas----------------------
#Destino de retorno (opc) :
#Alocar UID de :
#Limitar a caixa do usuário para (k): (o) Sem limite ______
#-------------------Funcionalidades------------------------
#Número máximo de usuários : (o) Sem limite ______
# [ ] Iguais ao nome completo
#Filtro programa + arg (opc) :
#Travar domínio [ ] Mails que chegam são rejeitados
# [ ] Usuários não podem resgatar suas mensagens
#--------------Arquivos de apelidos extra------------------
#Caminho do arquivo (absoluto) :
#-------------------Apelidos do domínio--------------------
#
#
(Domínios virtuais de email são um jeito de se gerenciar
listas independentes de usuários no mesmo servidor. Cada
domínio virtual tem seu próprio arquivo de senhas, seu
próprio diretório de email e seu próprio arquivo de apelidos.
Para cada domínio virtual de email, o Configurador Linux irá
definir:

* /etc/vmail/passwd.domínio_virtual
* /etc/vmail/shadow.domínio_virtual
* /etc/vmail/aliases.domínio_virtual
* /var/spool/vmail/domínio_virtual/
* /vhome/domínio_virtual/

onde domínio_virtual é um domínio, como foo.com.br por exemplo.)

Opção --->Apelidos Para usuário


-------> Adicionar
#--------------------------------------------------
(Nesta opção definimos apelidos para os usuários
ex: Usuário - Teste@conectiva e queremos que o
mesmo tenha um outro email: teste2@conectiva.
Usamos o apelido para acrescentar o teste2, e
o usuário receberá as mensagens enviadas para
teste2. Pode ser usada para pequenas listas de
mail.)

E por fim, peça a opção gerar o arquivo CF. Após esta criação, saia do configurador linux e edite
o inetd.conf para habilitar as funções de correio:

[root@localhost]# cd /etc
[root@localhost]# mcedit inetd.conf

Descomente a linha:

pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

Salve o arquivo e saia, reinicie o inetd:


[root@localhost]# cds
[root@localhost]# ./inet restart

E inicie o sendmail

[root@localhost]# ./sendmail start

Configuração Filtros Anti-SPAM

Nas Configurações anti-spam, veja as opções:

• Remetentes rejeitados

Coloque aqui o mail que deseja-se restrigir: Origem do mail : nome@dominio Mensagem
de erro: Seu e-mail foi rejeitado .

• Repetir para 'por ip'

Aqui você informa uma lista de números IP (máquinas ou redes) para quem seu servidor
poderá repetir os emails.

• Repetir para 'por nome'

Aqui você informa uma lista de nomes de máquina e domínios para quem seu servidor
poderá repetir os emails.

• Repetir para máquinas

Aqui você informa uma lista de servidores de email os quais usam o seu servidor como
roteador.

COMO CONFIGURAR O MEU DOMÍNIO VIRTUAL DE EMAIL?

• Criação de IP's Virtuais


A primeira coisa que deve ser feita, é a criação de IP's virtuais que respondam pelos
dominios virtuais de e-mail:

Para fazer isto, entre no linuxconf:

[root@localhost]# linuxconf

Entre em:

Ambiente de Rede ->Apelidos de IP para máquinas virtuais ->Selecione o dispositivo


eth0->Apelidos ou faixas de IP 10.0.2.80-81->Aceitar->Sair->Sair->Sair->Ativar as
mudanças

No nosso exemplo, adicionamos os endereços IP virtuais: 10.0.2.80 e 10.0.2.81 sendo


que a nossa máquina tem o endereço 10.0.2.72

Reinicialize o servico network para ativar a interface com os novos apelidos de IPs
virtuais:

[root@localhost]# cds

[root@localhost]# ./network stop

[root@localhost]# ./network start


Para confirmar agora a configuração, basta executarmos o
comando:
[root@localhost]# ifconfig

A saida, no nosso exemplo seria:

[root@localhost]# ifconfig
eth0 Encapsulamento do Link: Ethernet Endereço de HW
52:54:00:E6:68:09
inet end.: 10.0.2.72 Bcast:10.0.7.255
Masc:255.255.248.0
UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
Pacotes RX:11600 erros:0 descartados:0
sobreposições:0 frame:0
Pacotes TX:7024 erros:5 descartados:0
sobreposições:0 portadora:5
colisões:633 txqueuelen:100
IRQ:12 Endereço de E/S:0x9000

eth0:0 Encapsulamento do Link: Ethernet Endereço de HW


52:54:00:E6:68:09
inet end.: 10.0.2.80 Bcast:10.0.2.80
Masc:255.255.255.255
UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
IRQ:12 Endereço de E/S:0x9000
eth0:1 Encapsulamento do Link: Ethernet Endereço de HW
52:54:00:E6:68:09
inet end.: 10.0.2.81 Bcast:10.0.2.81
Masc:255.255.255.255
UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
IRQ:12 Endereço de E/S:0x9000

lo Encapsulamento do Link: Loopback Local


inet end.: 127.0.0.1 Masc:255.0.0.0
UP LOOPBACKRUNNING MTU:3924 Métrica:1
Pacotes RX:92 erros:0 descartados:0 sobreposições:0
frame:0
Pacotes TX:92 erros:0 descartados:0 sobreposições:0
portadora:0
colisões:0 txqueuelen:0

[root@localhost]#

Onde pode-se ver, temos criados 2 IP's virtuais que irão responder pelos dominios
virtuais de e-mail.

• Criação dos dominios virtuais no sendmail

Vamos agora criar os nossos dominios virtuais de e-mail. Para isto, basta entrar no
linuxconf:

[root@localhost]# linuxconf

Entre em:

Ambiente de Rede->Sendmail - sistema de envio de emails->domínio virtual de email-


>Adicionar->Domínio virtual (fqdn) dominio1.com.br->Aceitar+Adicionar->Domínio
virtual (fqdn) dominio2.com.br->Aceitar ->Sair->Sair->Sim->Ok->Sair->Sair->Ativar
as mudanças

Com este procedimento, criamos os dominios virtuais dominio1.com.br e


dominio2.com.br que devem ser associados com os numeros IP 10.0.2.80 e 10.0.2.81

• Configuração do DNS para as contas virtuais

Deve-se configurar o DNS para aceitar estes dominios virtuais de e-mail.

Vamos criar estes dominios agora. Para isto, entre no linuxconf:

[root@localhost]# linuxconf
Entre em:

Ambiente de Rede->DNS - servidor de nomes de domínios->Configurar domínios-


>Adicionar->Domínio: dominio1.com.br->IPs padrão: 10.0.2.80->Aceitar->Adicionar-
>Domínio: dominio2.com.br->IPs padrão: 10.0.2.81->Aceitar->Sair+mapas de IPs
reversos->Número de rede: 10.0.2->Aceitar->Sair->Sair->Sair->Sair->Ativar as
mudanças

• Testando os dominios virtuais

Para fazer os testes, temos que ter rodando o sendmail e o dns. Para fazer isto, basta
executar:

[root@localhost]# cds

[root@localhost]# ./sendmail restart

[root@localhost]# ./named restart

Também temos que configurar o nosso dns para apontar para a nossa máquina na rede.
Para isto, basta editarmos o arquivo /etc/resolv.conf

[root@localhost]# mcedit /etc/resolv.conf

Adicione esta linha no inicio dos items nameserver

nameserver 10.0.2.72

Assim, o seu DNS irá procurar primeiro nesta máquina.

• Criar usuários virtuais

Para a criação de usuários nestes dominios virtuais, basta entrar no linuxconf:

[root@localhost]# linuxconf

Entre em:

Contas de usuários->Contas POP virtuais (somente email) dominio1.com.br->Adicionar-


>Nome da conta: teste1->Nome completo: Conta de teste->Aceitar->Senha: teste1-
>Confirmação: teste1->Aceitar->Ok->Sair->dominio2.com.br->Adicionar->Nome da
conta: teste2->Nome completo: Conta de teste->Aceitar->Senha: teste2-
>Confirmação: teste2->Aceitar->Ok->Sair->Sair->Sair->Sair->Ativar as mudanças
Neste exemplo, criamos os e-mails <teste1@dominio1.com.br> e
<teste2@dominio2.com.br>

• Configurar o vpop3d.

O vpop3d faz o gerenciamento das contas de dominio virtual e deve ser chamado antes
do ipop3d.

Para fazer isto, basta editar o seu arquivo /etc/inetd.conf

[root@localhost]# mcedit /etc/inetd.conf

E deixe a linha do pop-3 da seguinte maneira:

pop-3 stream tcp nowait root /usr/sbin/tcpd


/usr/lib/linuxconf/lib/vpop3d /usr/sbin/ipop3d

Feito isto, basta reiniciar o serviço inet com os comandos:

[root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

• Enviando um e-mail para teste

Feitas estas configurações, podemos enviar um e-mail para testar as configurações. Para
isto utilizaremos o programa mail:

[root@localhost]# mail -s "Teste" <teste1@dominio1.com.br>


teste de dominio virtual
de email
.
Cc:
[root@localhost]#

Para verificar se o e-mail chegou na sua caixa postal, basta executarmos o comando:

[root@localhost]# cat /var/spool/vmail/dominio1.com.br/teste1


From root@localhost Fri Jul 28 11:11:18 2000
Return-Path: <root>
Received: (from root@localhost)
by localhost (8.9.3/8.8.7) id LAA02580
for teste1@dominio1.com.br; Fri, 28 Jul 2000 11:11:18
-0300
Date: Fri, 28 Jul 2000 11:11:18 -0300
From: root <root@localhost>
Message-Id: <200007281411.LAA02580@localhost>
To: teste1@dominio1.com.br
Subject: Teste

teste de dominio virtual


de email
[root@localhost]#

ESTOU RECEBENDO UMA MENSAGEM DE ERRO DE RELAY


DENIED. COMO RESOLVER?

Este erro se deve à máquina utilizada para enviar e-mail não ter permissão de RELAY, ou seja,
transmitir a mensagem via seu servidor de e-mail.

Para resolver este problema, realize os seguintes passos para dar permissão a estas máquinas:

Entre no linuxconf:

[root@localhost]# linuxconf

Entre em Ambiente de rede-> Sendmail - sistema de envio de emails->repetir para por IP ->
Adicionar

Coloque o IP da máquina ou da rede que deseja-se habilitar o RELAY.

Depois saia do linuxconf ativando as mudancas e reinicialize o servico sendmail:

[root@localhost]# cds

[root@localhost]# ./sendmail stop

[root@localhost]# ./sendmail start

Assim a(s) máquina(s) utilizada(s) para enviar e-mail terão permissão de RELAY em seu servidor
de e-mail.

COMO ADICIONAR UM USUÁRIO POP AO SISTEMA:

GERENCIAMENTO DE USUÁRIOS

COMO ADICIONAR USUÁRIOS:


Utilizando o linuxconf:

Contas de usuários Contas POP (somente email) Adicionar

Nome da conta: preencher com o login Nome completo: preencher com o nome completo Grupo
(opc.): opcional Grupos suplementares: opcional Diretório HOME (opc.):opcional Interpretador
de comandos (opc.): opcional ID do usuário (opc.): opcional

Aceitar

Será necessário entrar com a senha do usuário adicionado.

Sair Sair Sair Ativar Mudanças

• Grupo (opc.): Se nenhum grupo for definido, então será gerado um novo grupo
automaticamente
• Grupos suplementares: Se o usuário também pertencer a um outro grupo, o nome do
mesmo deve estar referenciado neste campo
• Diretório HOME (opc.): se nenhum for especificado então será criado no diretório
/home/nome_da_conta
• Interpretador de comandos (opc.): se nenhum for selecionado então será adotado o
shell padrão (/bin/bash)
• ID do usuário (opc.): se nenhum for especificado então o sistema criará um ID
automaticamente para o usuário

COMO CONFIGURAR O SENDMAIL PELO M4?

### Versão 6.0 e anteriores ###

• Insira o CD número 1 do seu Conectiva Linux no drive.


• Monte o seu cdrom:
[root@localhost]# mount /mnt/cdrom
• Acesse o diretório dos RPMS:
[root@localhost]# cd /mnt/cdrom/conectiva/RPMS
• Instale os pacotes:
[root@localhost]# rpm -ivh sendmail*

[root@localhost]# rpm -ivh imap*

[root@localhost]# rpm -ivh m4*

A configuração dele baseia-se no arquivo /etc/sendmail.cf onde estão quase todos


os itens necessários para o correto funcionamento do programa. Pode-se configurar o
/etc/sendmail.cf através das macros m4.

• Vá até o diretório /etc e crie um arquivo sendmail.mc utilizando o seu editor de texto
favorito (no nosso exemplo, iremos utilizar o mcedit)

[root@localhost]# mcedit /etc/sendmail.mc

Adicione no arquivo:

divert(-1)
include(`/usr/lib/sendmail-cf/m4/cf.m4')
define(`confDEF_USER_ID',``mail:mail'')
OSTYPE(`linux')
undefine(`UUCP_RELAY')
undefine(`BITNET_RELAY')
define(`confAUTO_REBUILD')
define(`confTO_CONNECT', `1m')
define(`confTRY_NULL_MX_LIST',true)
define(`confDONT_PROBE_INTERFACES',true)
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')
FEATURE(`smrsh',`/usr/sbin/smrsh')
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_procmail)
MAILER(procmail)
MAILER(smtp)
FEATURE(`access_db')
FEATURE(`blacklist_recipients')
FEATURE(`accept_unresolvable_domains')
dnl FEATURE(`relay_based_on_MX')

• Salve e saia, depois faça esta sequencia de comandos:

[root@localhost]# m4 sendmail.mc > sendmail.cf

[root@localhost]# cds

[root@localhost]# ./sendmail restart

• O arquivo do sendmail.cf já foi criado, agora basta somente você adicionar os usuários
de email, ou seja, abrir uma conta só de email, use linuxconf e crie uma conta. Depois
de criado esta nova conta de email você precisa configurar mais algumas coisas para
que o cliente possa usar o servidor de email para mandar,[RELAY] as mensagens.
Nestas configurações somente pessoas, domains ou IPs autorizados poderão mandar
email, evitando que terceiros não autorizados usem seu servidor de email para SPAM.
• Edite o arquivo /etc/sendmail.cw para que o sendmail funcione com a sua rede
interna:

[root@localhost]# mcedit /etc/sendmail.cw

# sendmail.cw - include all aliases for your machine here.


suaempresa.com.br RELAY ---> Seu Domain Name aqui.
200.200.221 RELAY ---> O IP da sua rede interna
aqui
localhost.localhost RELAY

• Se o sendmail.cw não for configurado, você vai receber uma mensagem de RELAY
DENIED. Configurado o sendmail.cw o segundo passo seria criar o arquivo relay-
domains.

Coloque o domain name da sua empresa, e o IP da sua rede interna:

[root@localhost]# mcedit /etc/relay-domains

192.168.0 RELAY
200.200.200 RELAY
domain.com.br RELAY

• Significa que qualquer endereço IP que comece com 192.168.0.0 até 192.168.0.254 vai
poder usar o servidor de email para RELAY evitando que outros que não estejam neste
alcance use o seu servidor para SPAM. Você também pode usar nomes de email [
<alguem@empresa.com.br> ] que você quer bloquear:

192.168.0 RELAY
200.200.200 RELAY
domain.com.br RELAY
span@span.org DENY

• Lembre-se que os espaços são TABs, depois de tudo configurado, de mais um restart no
sendmail:

[root@localhost]# cds

[root@localhost]# ./sendmail restart

### Versão 7.0 e posteriores ###

O Script na versão 7.0 deve ser criado da seguinte maneira:


Deve-se alterar a ordem das opções MAILER(procmail) e MAILER(smtp) para MAILER(smtp) e
MAILER(procmail).

Após estas alterações, pode-se continuar o procedimento anterior.

divert(-1)
include(`/usr/lib/sendmail-cf/m4/cf.m4')
define(`confDEF_USER_ID',``mail:mail'')
OSTYPE(`linux')
undefine(`UUCP_RELAY')
undefine(`BITNET_RELAY')
define(`confAUTO_REBUILD')
define(`confTO_CONNECT', `1m')
define(`confTRY_NULL_MX_LIST',true)
define(`confDONT_PROBE_INTERFACES',true)
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')
FEATURE(`smrsh',`/usr/sbin/smrsh')
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_procmail)
MAILER(smtp)
MAILER(procmail)
FEATURE(`access_db')
FEATURE(`blacklist_recipients')
FEATURE(`accept_unresolvable_domains')
dnl FEATURE(`relay_based_on_MX')

O QUE POSSO FAZER QUANDO O E-MAIL DEMORA MUITO


EM ENVIAR OU RECEBER MENSAGENS ?

O seu servidor Linux está tentando, antes de liberar a conexão para o cliente SMTP ou POP,
descobrir via DNS qual o nome da máquina cliente. Isto explica a demora.

Normalmente isto acontece quando o servidor possui um IP de servidor DNS configurado no


arquivo /etc/resolv.conf, mas este não possui conectividade com a Internet, ou então este
IP é de um servidor não que não roda DNS, ou de um IP não alcançável (ou fora do ar).

Sugestões:

1. para o servidor SMTP (Sendmail), existe uma configuração para que este não consulte o
DNS. No Linuxconf, entre em Networking Server Tasks: Mail delivery system (sendmail)
Configure basic information DNS Features:
desmarque wait for DNS e marque don't use DNS

2. para o servidor POP, está acontecendo algo parecido. Só que desta vez, quem está
tentando consultar o servidor DNS é o tcpd (TCP Wrappers), que vem instalado no
servidor por default de forma a dar maior segurança aos serviços. Uma maneira de
resolver isto é instalando de uma vez um servidor DNS na rede. Outra forma é retirando
o TCPD do /etc/inetd.conf ou configurando-o para não fazer hostname lookups no
servidor. A última solução (que automaticamente resolveria a do sendmail), seria tirar a
linha nameserver do /etc/resolv.conf

MEU SENDMAIL FICA DEMORANDO NA INICIALIZAÇÃO

Execute o comando:

[root@localhost]# echo '$=w' | sendmail -bt

Para ver quais endereços o sendmail está tentando resolver.

Verifique se esses endereços constam no arquivo /etc/hosts caso não constem, coloque uma
entrada para cada um deles.

O QUE SIGNIFICA O ARQUIVO BOGUS CRIADO NO


SENDMAIL?

Normalmente é um arquivo .procmailrc ou que está dentro dele, que está com permissões
erradas, por isso é criado um BOGUS.usuário, no diretório de spool do programa sendmail
(usualmente/var/spool/mail).

COMO BAIXAR CONTAS DE MAIL DA INTERNET PARA UMA


PEQUENA REDE UTILIZANDO ACESSO DISCADO E
UTILIZAR UM SERVIDOR DE MAILS INTERNOS?

Como funciona o processo


Nesse documento consideramos que a rede interna, o DNS e o acesso por demanda do servidor
estão funcionando corretamente, não cabe nesse documento discutir estas configurações, e que
elas precisam estar funcionando.

Imaginemos uma rede com um servidor Linux, e estações (que podem ser com Linux, windows,
etc...) que fazem acesso a internet por meio do servidor Linux.

Cada usuário pode mandar e receber mails para a internet usando sua própria conta interna. No
papel de servidor de email da intranet temos o Sendmail configurado, que gerenciará estas
mensagens. Quanto a conexão com internet estiver ativa, ele descarregará a fila de mails para
internet.

Agora, queremos pegar os mails da internet e distribuir para cada usuário de nossa rede interna,
quem fará este trabalho será o fetchmail.

Até agora tudo tranqüilo, mas temos um e_mail na empresa chamado vendas@empresa.com.br
e que temos três vendedores que atendem esse mail. Após um contato preliminar com o cliente,
o mesmo começara a enviar os e-mails com o subject algo como: a/c vendedor1

Como filtrar estes mails?

Uma saída simples, podemos conjugar o fetchmail com o Procmail que é um filtro, e desta forma
ele procurará os subjects que tratam para o vendedor1 para enviar para ele, separando das
demais.

No final, teremos uma conta que receberá todos os mail de vendas@empresa.com.br que não
foram filtrados, e desta forma alguém terá que recebê-los para verificar qual destino devem
seguir.

Certo, agora vamos configurar estes serviços para que realizem o que falamos acima:

Instalando os pacotes necessários

Programas necessários:

- Sendmail (Servidor de mails) - Fetchmail (para pegar e-mails da internet) - Procmail (Para
fazer filtros de mensagens)

Estes programas encontram-se na distribuição da Conectiva Linux, e desta forma basta instalar
os pacotes:

[root@localhost]# mount /mnt/cdrom


[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

[root@localhost]# rpm -ivh sendmail* procmail* fetchmail*

Configurando o Sendmail

Primeiro, vamos configurar o Sendmail, o mesmo pode ser configurado de várias formas, como
m4, linuxconf, etc. Neste documento, iremos configurar utilizando o linuxconf:

Abra o linuxconf

[root@localhost]# linuxconf

Entre na parte:

---->Ambiente de Rede
------> Sendmail - sistema de envio de e-mails

Nas opções de básico, entre na opção:

--------> Informações básicas

E deixe configurado da seguinte forma:

#---------------------------------------------------------------------
-----
#Apresentar seu sistema como : [seu servidor]
# [X]Aceitar email para [domínio]
#Servidor de email :[nome_do_servidor_local]
#Roteador de email :
#Protocolo roteador de email : smtp
#-------------------
funcionalidades-----------------------------------------
# [ ] confirmar nomes completos
# de usuários
# [X] Ativar controle de envio
# (spammers)
#Tamanho máximo das mensagens:( )no limite ____________
# [*] Não tentar enviar
# imediatamente
#Processar consulta a cada(min):( ) manual 1
# ( ) Usar a shell especial smrsh
#Maximum recipients per msg (o) Defaults _____________
----------------------------------------------------------------------
-------

Confirme, e entre agora no menu:

Opção --->Regras de mascaramento


-------> Adicionar
#---------------------------------------------------------------------
------
# [*] esta regra está ativa
#De: Original :[email_interno]
#De: Novo :[email_externo]
#Comentário :
#---------------------------------------------------------------------
------

Desta forma, será garantido que seus email sairão com um endereço para reply válido, que será
sua conta no provedor.

Crie uma regra para cada usuário que envie mails para a internet.

Confirme e peça para gerar o arquivo de sendmail.cf

Saia do linuxconf, agora vamos configurar quais máquinas poderão enviar e_mail pelo seu
servidor, e evitar que outros utilizem seu servidor durante a conexão:

Edite o arquivo /etc/sendmail.cw para que o sendmail funcione com a sua rede interna:

[root@localhost]# mcedit /etc/sendmail.cw

# sendmail.cw - include all aliases for your machine here.


suaempresa.com.br RELAY ---> Seu Domain Name aqui.
200.200.221 RELAY ---> O IP da sua rede interna aqui
localhost.localhost RELAY

- Se o sendmail.cw não for configurado, você vai receber uma mensagem de RELAY DENIED.
Configurado o sendmail.cw o segundo passo seria criar o arquivo relay-domains.

Coloque o domain name da sua empresa, e o IP da sua rede interna:

[root@localhost]# mcedit /etc/relay-domains

192.168.0 RELAY -->seu ip interno de rede


domain.com.br RELAY -- nome de seu servidor

OBS: Os espaços entre o ip e a palavra Relay são TABs, caso contrário, seu arquivo não
funcionará.

Salve, e edite o inetd.conf para habilitar as funções de correio:

[root@localhost]# cd /etc [root@localhost]# mcedit inetd.conf


Descomente a linha:

pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

Salve o arquivo e saia, reinicie o inetd:

[root@localhost]# cds [root@localhost]# ./inet restart

E inicie o sendmail

[root@localhost]# ./sendmail start

Pronto, nosso servidor de email já está operacional, agora crie os usuários internos que terão
conta de email, uma maneira simples é com o comando adduser, proceda da seguinte forma:

[root@localhost]# adduser [usuario]

grave uma senha para o usuário:

[root@localhost]# passwd [usuario]

Verifique se seu servidor está operacional, configurando o leitor de email da estação, colocando
as informações do usuário, e a parte de servidores pop3 e smtp da seguinte forma:

servidor pop3 = [nome_do_servidor_interno]


servidor smtp = [nome_do_servidor_interno]
usuario: [nome_do_usuário_vc_criou]

Mande uma mensagem para seu próprio usuário local , e verifique que o sr. está recebendo.

Configurando o Fetchmail

Agora, vamos pegar os e-mails da internet, para isso utilizamos o fetchmail:

O primeiro passo é criar um arquivo .fetchmailrc no home do usuário que fará este serviço.

A estrutura do arquivo é algo parecido com o exemplo abaixo:

#----início do arquivo .fetchmailrc --------------------------


set logfile "/var/log/fetchmaillog"
set postmaster ""
set daemon 123
set bouncemail
poll [provedor_internet] proto POP3
user [usuário] password "[senha]" is [usuário_local] here
#--- fim do arquivo -------------------------------------------

A opção set daemon é a que será utilizada para os intervalos de checagem dos emails, o valor é
em segundos.

A opção set logfile é para criar um arquivo de log que será muito útil.

A linha que inicia com o pool é para baixar os emails de seu provedor no lugar da expressão
[provedor_internet] coloque o endereço do servidor pop de seu provedor em [usuário] e [senha]
coloque a conta com a senha da conta a internete na expressão [usuário_local] coloque quem é
o usuário de seu servidor.

Crie quantas forem necessárias.

Agora, é necessário rodar o fetchmail para que ele baixe as mensagens de seu provedor e envie
para seu servidor local para que seus usuários possam pegar as mensagens.

Uma maneira simples é agendar no crontab do usuário que executa o fetchmail, e informa de
quanto em quanto tempo o fetchmail será rodado. (para isso tire a opção set daemon de sua
configuração.

Outra forma, é colocar o fetchmail direto para acesso, colocando-o como daemon, para isso
execute no prompt:

[root@localhost]# fetchmail

A segunda parte chama o procmail, que é filtro, para o caso de duas pessoas internas utilizarem
o mesmo mail externo, como no caso de três vendedores utilizarem o mail externo
vendas@empresa.com.br, assim é pedido para quem quiser enviar um mail para um dos
vendedores coloque no subject por exemplo:

Para o vendedor1.

Assim precisamos criar um arquivo procmailrc no home do usuário que chama o fetchmail.

Configurando o Procmail

O arquivo de configuração é algo parecido com:

-----------Ínicio do arquivo .procmail -------------


PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin
INBOX=/home/[usuário]/mail/INBOX
MAILDIR=/home/[usuário]/mail
DEFAULT=$MAILDIR/INBOX
LOGFILE=var/log/procmaillog

:0
* ^Subject:.*vendedor1*
! vendedor1@servidor.intranet

:0 * ^Subject:.*vendedor2*
! vendedor2@servidor.intranet

# Este exemplo copia que contenham no Subject a palavra


# vendedor1 ou 2 , e fará um bounce (repassará) para o
# mail interno de cada vendedor.

:0

* ^To:.vendas@empresa.com.br
! geral@servidor.intranet

# Esta última regra é no caso de alguma mensagem não ser


# pega pelos filtros acima seja mandada para uma conta denominada
geral@.
# É necessário que alguém verifique esta conta, para dar destina a
estas
# mensagens.

#no final do arquivo coloque estas linhas:

:0
$INBOX

Pronto, agora temos uma solução de servidor de email interno funcionando, bastará configurar
no seu script por discagem por demanda chamar o comando:

sendmail -q

Para que a cada conexão, sua fila de emails a serem enviados seja despachada.

Agora basta que seus usuários baixem as contas recebidas que estão no spool do seu servidor
local. E para mandarem, bastará digitar a mensagem, e mandá-las para o servidor local, que
este ao receber o comando sendmail -q irá despachar os mesmo para a internet.

Tudo o que está sendo executado e transmitido pelo sendmail pode ser verificado no arquivo de
log maillog, que geralmente fica em :

/var/log/mailog

Do fetchmail o log é gravado em:


/var/log/fetchmailog

e do Procmail em:

/var/log/procmaillog

Verifique estes arquivos para ter certeza que tudo funciona de acordo, ou no caso de problemas,
para verificar o que está errado.

También podría gustarte