Manual Basico SendMail

30
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

Transcript of Manual Basico SendMail

Page 1: Manual Basico SendMail

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

Page 2: Manual Basico SendMail

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

Page 3: Manual Basico SendMail

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 :

Page 4: Manual Basico SendMail

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

Page 5: Manual Basico SendMail

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:

Page 6: Manual Basico SendMail

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 #

Page 7: Manual Basico SendMail

#------------------------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)

Page 8: Manual Basico SendMail

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 :

Page 9: Manual Basico SendMail

#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:

Page 10: Manual Basico SendMail

[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

Page 11: Manual Basico SendMail

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

Page 12: Manual Basico SendMail

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

Page 13: Manual Basico SendMail

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

Page 14: Manual Basico SendMail

Neste exemplo, criamos os e-mails <[email protected]> e

<[email protected]>

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" <[email protected]> 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 [email protected]; Fri, 28 Jul 2000 11:11:18 -0300 Date: Fri, 28 Jul 2000 11:11:18 -0300

Page 15: Manual Basico SendMail

From: root <root@localhost> Message-Id: <200007281411.LAA02580@localhost> To: [email protected] 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:

Page 16: Manual Basico SendMail

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

Page 17: Manual Basico SendMail

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

Page 18: Manual Basico SendMail

[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 [

<[email protected]> ] que você quer bloquear:

192.168.0 RELAY 200.200.200 RELAY domain.com.br RELAY [email protected] 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

Page 19: Manual Basico SendMail

### 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:

Page 20: Manual Basico SendMail

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

Page 21: Manual Basico SendMail

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 [email protected]

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 [email protected] 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

Page 22: Manual Basico SendMail

[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:

Page 23: Manual Basico SendMail

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:

Page 24: Manual Basico SendMail

[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 ""

Page 25: Manual Basico SendMail

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

[email protected], 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:

Page 26: Manual Basico SendMail

-----------Í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* ! [email protected] :0 * ^Subject:.*vendedor2* ! [email protected] # 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:[email protected] ! [email protected] # 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

Page 27: Manual Basico SendMail

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.