37
Sendmail Correio Eletrônico Correio Eletrônico & Sendmail & Sendmail

Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Embed Size (px)

Citation preview

Page 1: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

Correio Eletrônico & Correio Eletrônico & SendmailSendmail

Page 2: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Parte A: Introdução• Parte B: Configuração• Parte C: Referências• Parte D: Atividades Práticas

ÍndiceÍndice

Page 3: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Objetivo• Funcionalidades• Roteamento de Mensagens• Formato de Mensagens• SMTP

Parte A: Introdução

IntroduçãoIntrodução

Page 4: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

SendmailSendmail

TCP/IPTCP/IP

UUCPUUCP

LocalLocaluuxuux

mailmail

mhmh

Parte A: Introdução

Roteamento de MensagensRoteamento de Mensagens

Page 5: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

Connecting to npd1.npd.ufpe.br220 npd1.npd.ufpe.br Ready

HELO mail.di.ufpe.br250 npd1.npd.ufpe.br

MAIL FROM: [email protected] OK

RCPT TO: [email protected] OK

DATA354 Start mail

...<CR><LF>.<CR><LF>

250 OKQUIT

221 npd1.npd.ufpe.br Closing

Parte A: Introdução

SMTP ProtocolSMTP Protocol

Page 6: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

ComponentesComponentes dodo EmailEmail

Interface do

Usuário

Usuário envia mail

Usuário lê mail

Área de saída(spool directory)

Mailboxes(incomming mail)

Email Server

SMTP/TCP

Agente de Entrega

SMTP/TCP

Parte A: Introdução

Page 7: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

Interface do

Usuário

Usuário lê mail

Mailboxes(incomming mail)

Email Server

Lê Mailbox do usuário

POP ServerPOP Server

SMTP/TCP

POP request/TCP

User/passwd

ok

Send the mailbox

ok

Parte A: Introdução

Page 8: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Processamento e roteamento de mensagens do correio eletrônico em plataformas UNIX:– Mecanismos de Entrega:

• SMTP (Simple Message Transfer Protocol)• UUCP (User-to-User Copy Program)• Local Mail

– Formatação de Endereços:[email protected]!netbbs

Parte A: Introdução

ObjetivoObjetivo

Page 9: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Processamento e roteamento de mensagens:– Aceitar a mensagem do agente do usuário ou SMTP

– Interpretar o endereço do usuário destinatário

– Escrever o endereço no padrão do programa de entrega

– Rotear a mensagem para o programa de entrega

• Manipulação de base de dados de aliases:– Permite implantação de listas de distribuição

Parte A: Introdução

FuncionalidadesFuncionalidades

Page 10: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

From [email protected] Sat Feb 7 08:11:44 1993Delivery-Date: Sat, 07 feb 93 08:11:45 PSTReturn-Path: [email protected]: from recife.di.ufpe.br by npd1.npd.ufpe.br (4.1/1.11) id AA04599; Sat, 7 Feb 93 08:11:44 PSTDate: Sat, 7 Feb 93 08:11:43 PSTFrom: [email protected] (Gledson Elias)Message-Id: <[email protected]>Subject: TesteTo: [email protected]

Esta é uma mensagem para teste

From [email protected] Sat Feb 7 08:11:44 1993Delivery-Date: Sat, 07 feb 93 08:11:45 PSTReturn-Path: [email protected]: from recife.di.ufpe.br by npd1.npd.ufpe.br (4.1/1.11) id AA04599; Sat, 7 Feb 93 08:11:44 PSTDate: Sat, 7 Feb 93 08:11:43 PSTFrom: [email protected] (Gledson Elias)Message-Id: <[email protected]>Subject: TesteTo: [email protected]

Esta é uma mensagem para teste

Cabeçalho

Corpo

Parte A: Introdução

Formato das MensagensFormato das Mensagens

Page 11: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Multipurpose Internet Mail Extensions• Permite transmitir arquivos que não são ASCII• Não altera ou substitui o SMTP• Permite codficar um dados no formato ASCII• Cada mensagem inclui informações que

descrevem o formato dos dados codificados– Exemplo de header....

• Mensagem com Múltiplas partes– Exemplo de mensagem....

MIME ExtensionsMIME ExtensionsParte A: Introdução

Page 12: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Informações do header:– MIME-Version

– Content-Type• Content-type

• Subtype– image/gif

– Content-Transfer-Encondig• “base64”

• Interface do usuário é capaz de decodificar a mensagem automaticamente e executar a aplicação adequada

MIME ExtensionsMIME ExtensionsParte A: Introdução

Page 13: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Informações• Estrutura de Arquivos• Aliases• Compilando o Sendmail• Primitivas de Configuração• Processamento de Endereços• Integração com DNS• Configurando o Check_*• Executando o Servidor

Parte B: Configuração

ConfiguraçãoConfiguração

Page 14: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Sendmail 8.?.?http://www.sendmail.org

• Spam de mail:– Evitar spam de mail compilando o sendmail junto

com pacote check_*:http://www.sendmail.org

Parte B: Configuração

InformaçõesInformações

Page 15: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

Fila de Mensagens

etc

/

var

mqueue

sendmail.cf aliases

sendmail.cw

mail

Pacote Check_*

Parte B: Configuração

Estrutura de ArquivosEstrutura de Arquivos

Page 16: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Fila de Mensagens:– Armazenar mensagens para processamento

– Implementada no diretório /var/spool/mqueue:• Diretório da fila de mensagens pode ser definido na

configuração do sendmail

qf Cabeçalho da mensagem e o arquivo de controledf Corpo da mensagemlf Lock para a mensagemtf Versão temporária do arquivo qf xf Arquivo temporário de mensagens de erro do mailer

Parte B: Configuração

Etrutura de ArquivosEtrutura de Arquivos

Page 17: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Objetivo:– Definir apelidos (alias) para usuários

individuais

– Definir forwarding de mensagens

– Implementar Listas de Discussão

• Configurados no arquivo /etc/aliases:– O arquivo de aliases pode ser definido na

configuração do sendmail

Parte B: Configuração

AliasesAliases

Page 18: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Formato:alias: recipient [, recipient, ...]

• Exemplos:postmaster: ari

Mailer-daemon: postmaster

gledson: [email protected]

instrutores: ari, gledson, teresa

Parte B: Configuração

AliasesAliases

Page 19: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Construção do Mapa dbm:– Sendmail não utiliza o arquivo /etc/aliases

diretamente

– Definições de aliases devem ser processadas para gerar mapa dbm utilizado pelo Sendmail:

newaliases

sendmail -bi

Parte B: Configuração

AliasesAliases

Page 20: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

# cd /usr/local # zcat sendmail.8.8.8.tar.gz | tar xvf - # cd sendmail-8.8.8/src# sh makesendmail# sh makesendmail install

# cd /usr/local # zcat sendmail.8.8.8.tar.gz | tar xvf - # cd sendmail-8.8.8/src# sh makesendmail# sh makesendmail install

Parte B: Configuração

Compilando o SendmailCompilando o Sendmail

Page 21: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Geração do arquivo /etc/sendmail.cf:

OSTYPE(bsd4.4)dnl HACK (use_ip)HACK(spammers) HACK(use_names)HACK(spamdoms) HACK(use_relayto)HACK(check_mail) HACK(check_rcpt4)

OSTYPE(bsd4.4)dnl HACK (use_ip)HACK(spammers) HACK(use_names)HACK(spamdoms) HACK(use_relayto)HACK(check_mail) HACK(check_rcpt4)

Parte B: Configuração

Compilando o SendmailCompilando o Sendmail

Page 22: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Geração do arquivo /etc/sendmail.cf:– Gerar o sendmail.cf com o pré-processador m4– Copiar sendmail.cf para /etc/sendmail.cf

# cd /usr/local/sendmail-8.8.8/cf/cf

# m4 ../m4/cf.m4 generic-bsd4.4.mc > sendmail.cf

# cp sendmail.cf /etc/sendmail.cf

# cd /usr/local/sendmail-8.8.8/cf/cf

# m4 ../m4/cf.m4 generic-bsd4.4.mc > sendmail.cf

# cp sendmail.cf /etc/sendmail.cf

Parte B: Configuração

Compilando o SendmailCompilando o Sendmail

Page 23: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Ambiente de execução do sendmail

• Regras para escrever endereços na sintaxe apropriada do mecanismo de entrega

• Regras para mapeamento de endereços em instruções necessárias para enviar as mensagens

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Page 24: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Modificando o arquivo /etc/sendmail.cf:

– Estrutura Geral:

• Informações Locais

• Macros

• Classes

• Regras de Mapeamento

• Mailers

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Page 25: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Modificando o arquivo /etc/sendmail.cf:

– Macros & Classes:• Domínios de recepção:

Cwlab.ufpe.br

Fw/etc/sendmail.cw

• Nome oficial do host:Dj$w.lab.ufpe.br

– Definido somente se o sendmail não conseguir determinar automaticamente

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Page 26: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Modificando o arquivo /etc/sendmail.cf:

– Macros & Classes:• Domínio do endereço origem de mensagens

enviadas:DMlab.ufpe.br

• Usuários que enviam identificação do host nos endereços origem de mensagens enviadas:

CE root

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Page 27: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Modificando o arquivo /etc/sendmail.cf:

– Opções:• Evitar execução de EXPN e VRFY:

O PrivacyOptions=goaway | noexpn,novrfy

• Arquivo de Aliases:O AliasFile=/etc/aliases

• Diretório da Fila de Mensagens:O QueueDirectory=/var/spool/mqueue

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Page 28: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Modificando o arquivo /etc/sendmail.cf:

– Mailers:

Mmailer, {field=value}

Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u

Mprog, P=/bin/sh, F=lsDFMe, S=10, R=20, A=sh -c $u

Msmtp, P=[IPC], F=mDFMueXLC, S=14, R=24, A=IPC $h

Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u

Mprog, P=/bin/sh, F=lsDFMe, S=10, R=20, A=sh -c $u

Msmtp, P=[IPC], F=mDFMueXLC, S=14, R=24, A=IPC $h

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Page 29: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Modificando o arquivo /etc/sendmail.cf:

– RuleSets:SnRpattern transformation comment

R$*<$+>$* $2 user@domainR$*<$+>$* $2 user@domain

Gledson Elias < [email protected] >$* < $+ > $*$1 $2 $3

[email protected]

Gledson Elias < [email protected] >$* < $+ > $*$1 $2 $3

[email protected]

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Page 30: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

0

1

23

S

R4

mailer, host, user

Endereço Origem

Endereço Destino

Agente de Entrega

Parte B: Configuração

Processamento de EndereçosProcessamento de Endereços

Page 31: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Configuração:– Administrador dever cadastrar no DNS um Servidor

de Mail para o domínio:

• Mail Exchanger (MX)

• Consultas:– Sendmail utiliza o DNS para descobrir o endereço IP

do Servidor de Mail do endereço destinatário:

[email protected]

[email protected]

Parte B: Configuração

Integração com o DNSIntegração com o DNS

Page 32: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

mail

/etc

LocalIP

LocalNamesRelayTo

SpamDomains

Spammer

Parte B: Configuração

Configurando o Configurando o Check_*Check_*

Page 33: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Arquivos do check_*:– /etc/mail/LocalIP:

• Endereços IP utilizados na rede local

150.161.6150.161.6

lab.ufpe.brlab.ufpe.br

– /etc/mail/LocalNames:• Domínios que o servidor responde como mailserver

Parte B: Configuração

Configurando o Configurando o Check_*Check_*

Page 34: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Arquivos do check_*:– /etc/mail/RelayTo:

• Domínios que o servidor redireciona mensagens

lab.ufpe.brlab.ufpe.br

abc.def.brabc.def.br

– /etc/mail/SpamDomains:• Domínios bloqueados por serem fonte de spamming

Parte B: Configuração

Configurando o Configurando o Check_*Check_*

Page 35: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Arquivos do check_*:– /etc/mail/Spammer:

• E-mails de spammers que devem ser bloqueados

[email protected]@rst.xyz.br

Parte B: Configuração

Configurando o Configurando o Check_*Check_*

Page 36: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• Executado como daemon no boot do sistema:/usr/sbin/sendmail [-bd] [-bi] [-bp] [-bt] [-q] [-Cfile]

-bd: Executar como daemon-bi: Reconstruir a base de dados de aliases-bp: Mostrar status da fila de mensagens-bt: Executar em modo de teste de endereços-q: Intervalo de processamento da fila de

mensagens-C: Utilizar arquivo de configuração file

Parte B: Configuração

Executando o ServidorExecutando o Servidor

Page 37: Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas Índice

Sendmail

• TCP/IP Network AdministrationCraig HuntO’Reilly & Associates

• SendmailBryan Costales, Eric Allman e Neil RickertO’Reilly & Associates

• Como evitar os famigerados Spams de Mailhttp://www.rnp.br/newsgen/9712/spam.shtml

• RFC’s 822, 821, 1123, 819, e 976

Parte C: Referências Bibliográficas

Referências BibliográficasReferências Bibliográficas