Olá Pessoal,

Pra quem esperava algum conteúdo sobre o sendmail... está aí. Quem nos enviou foi o Félix através de e-mail. Agradecemos a colaboração do Félix e esperamos que vocês aproveitem bastante o conteúdo que segue.

Obs. Não fizemos qualquer alteração no mesmo, ou seja, o conteúdo está exatamente como nos foi enviado.

Meu SENDMAIL


Arquivos Aliases

Geralmente se encontram no diretório " /etc (etc/aliases) "


Em um arquivo aliase eu configuro apelidos para usuarios exe:

bin: root
games: root
system: root
webmaster: root
user1: user1@matrix.com
user2: user2@matrix.com
user3: user3@matrix.com
user4: user4@matrix.com

Msg com direção para estas contas são endereçadas para uma verdadeira
conta de usuario , neste caso ela irá para root , sendo assim os e-mails
vão para conta Raiz

Isto é meio ruim , pq usuarios irão acessar o diretório raiz para
ver e-mails , e isto pode comprometer com a segurança do sistema , por
isso podemos criar no arquivo aliases um apelido para o
diretório raiz ( staff )


--------------------------------------------------------------------------------
| exe: |
| |
| # System administrator mailing list |
| staff: user1, user2, user3, user4, jmp@matrix.com |
| onwer staff: staff-request |
| staff-request: user1 |
| |
--------------------------------------------------------------------------------


O apelido " staff " é uma lista de distribuição , assim todas as msgs
endereçadas ao diretório raiz são entregues a lista de distribuição

O apelido " onwer staff " é um apelido usado para as msg de erro relacionadas a lista
de distribuição " staff "

 

Arquivo " Forward "

No arquivo Forward podemos fazer um processo semelhante ao arquivo aliase
por exemplo se user1 tem uma conta em um sistema denominado matrix
mas ele não quer ler suas msgs nesse sistema , ele pode criar um
arquivo forward para que sua msgs seja endereçada para um outro sistema
neste exemplo colocaremos " neo " o arquivo forward ficaria assim:

user1@neo.com

este comando envia toda msg recebida em sua conta no sistema matrix para
uma conta user1 no sistema neo


-----------------------------------------------------------------------

SENDMAIL

O sendmail é executado de duas formas diferentes :

Qdo vc envia uma msg um processo sendmail inicia entrega a msg e termina
o processo

Para receber msgs o sedmail executa um daemon " -bd "
esta opçào diz ao sendmail para escutar a porta 25 tcp para verificação de
msgs

Uma opção ( -q ) é acrescentada no daemon para que o sendmail verifique também
se há msg esperando para ser entregue , no caso do sendmail não ter
conseguido enviar uma msg com sucesso

exe :

/usr/sbin/sendmail -bd -q 15m

obs: 15m é para definir de qto em qto tempo o sendmail faz a verificação

 

*******************

Arquivo de Configuração do Sendmail

O arquivo que define a configuraçào do tempo de execução do
sendmail é o sendmail.cf
Este arquivo é dividido em 7 diferentes seções , são elas :

LOCAL INFO ( inf. local )
Options ( Opções )
Message Precedence ( Preferência de Messagem )
Trusted Users ( Usuarios Confiaveis )
Format of Headers ( Formato de Cabeçalho )
Rewriting Rules ( Regras de Reescrição )
Mailer Definitions ( Definições de Programa de Correio )


******* Seção Local Info ********

Este arquivo é o primeiro na seção do sendmail.cf nele contém :

Nome de host -> os nomes de quaisquer hosts condutores de msgs e o dominio da msg
Tbm contém um nome que o sendmail ultiliza para indentificar msg que são retornadas com erros

O Local info é definida pelos comandos ;

D -> que define macros ;
C -> que define valores de classes ;
F -> que carregam valores de classes a partir dos arquivos e comandos ;
K -> que define o Banco de Dados de informações ;


******* Seção Options **********

Options define o ambiente do Sendmail , todos os valorees de OPTIONS são usados diretamente
pelo sendmail.cf
Existe mais de 100 Opções , mas o exemplo cita um deles


exe:

# timeout
0 Timeout.queuereturn=5d
0 Timeout.queuewarn=4h


Esta opção especifica ao sendmail que se parte de uma msg fica na fila por 5 dias ( 5d )
ela deve ser retornada ao remetente como uma msg não entregue e tbm diz que se uma parte
da msg não foi entregue ela deve enviar uma msg ao usuario avisando depois de 4 horas ( 4h )


****** Seção Message Precende *******

Message Precende é ultilizada para atribuir prioridades às msgs da fila
O padrão a msg é considerada "menssagem de 1º classe ( 0 ) "
Qto maior o numero maior a preferencia da msg

Obs : A config. que vem com seu sistema não precisa ser alterada


***** Seção Trusted User *********

Uasuarios Confiaveis têm permissão de mudar o endereço remetente qdo
estão enviando uma msg ,os usuarios confiaveis definido pelo arquivo Sendmail.cf
que vem com o sistema são : root , uucp , daemon ( nomes de usuarios validos
do arquivo /etc/passwd )

***** Seção Format of Header ******

O format of Header define os cabeçalhos que o sendmail vai inserir na msg
Cabeçalhos de msg -> são linhas encontradas no inicio da msg que informa qdo e de onde
ela foi enviada

Exemplo de definiçào de cabeçalho do arquivo sendmail.cf


H?P?Return-Path: <$g>
HReceived: $?sfrom $s $.$?_($?s$|from $.$_)
$.by $j ($v/$z)$?r with $r$. id $i$?u
for $u; $|;
$.$b
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $?x$x <$g>$|$g$.
H?F?From: $?x$x <$g>$|$g$.
H?x?Full-Name: $x
# HPosted-Date: $a
# H?1?Received-Date: $b
H?M?Resent-Message-Id: <$t.$i@$j>
H?M?Message-Id: <$t.$i@$j>

Esta configuração não é tão dificil como parece , na verdade estes simbolos são macros
um exemplo : $g diz para usar o valor armazenado na macro g , que contém o endereço de e-mail
do remetente

********** Rulesets ********

Regras de reescritas individuais são agrupadas juntas em " rulesets "

5 rulesets são chamados diretamente pelo sendmail

Ruleset 3 -> é o primeiro a ser chamado para preparar os endereços para serem processados pelos
outros ruleset

Ruleset 0 -> é aplicado no endereço de distribuição de msg para converte-lo ao triplo
(triplo = prog. de correio , host e usuario )que contém o nome do prog. de correio que
distribuirá a msg , o nome de host recipiente e o nome usuario recipiente

Ruleset 1 -> É aplicado a todos os endereços remetentes

Ruleset 2 -> é aplicado a todos os endereços recipientes

Ruleset 4 -> Este é chamado por ultimo para converter todos os formatos de endereços
internos em formatos de end. externos

exe:

Endereços de entrega -> 3 -------------------------->0 -> entrega de correio tripla

Entrada do endereço -> 3 -----> 1 -----> S -------->4 -> reescrita do endereço de
de remetente remetente

Entrada do endereço -> 3 -----> 2 -----> R -------->4 -> Reescrita do endereço de
de recipiente recipiente

As letras S e R representam os rulesets que tem nomes numericos , iguais aos outros rulesets
os numeros S e R são definidos nos campos S e R da definição do prog. de correio.
Cada prog. especifica seu proprio ruleset S e R pra processar end. de remetente e de recipiente

 

********** Seção Mailer Definitions **********

Esta Seção define as instruções usadas pelo sendmail para executar os programas de distribuições
e as regras de reescrição especificas de cada programa de correio individual.

Exe:

Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=10/30
R=20/40, T=DNS/RFC822/X-Unix, A=procmail -Y -a $h -d $u

Mprog, P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=10/30 R=20/40,
D=$z:/, T=X-Unix, A=sh c $u


as definições de programas de correio são iniciadas pela letra " M "

nestas linhas podemos observar que a primeira linha define o programa de correio para
distribuições de msgs locais ( local )
já a segunda linha define o programa de correio que serve para distribuir msgs para os programas
( prog )

neste caso eu citei dois exemplos da config. da seção MAILER DEFINITIONS , sendo os dois
exigidos pelo sendmail

 

******* Mais sobre serviços de correio *******

Um servidor de caixa de correio é aquele que armazena e-mails para seus clientes
até que os mesmo façam o download para seus respectivos leitores de e-mails
O linux oferece duas técnicas para criar um servidor de caixa de correio :

POST OFFICE PROTOCOL ( POP )
INTERNET MESSAGE ACESS PROTOCOL ( IMAP )

Um host se tranforma -se em um servidor caixa de correio qdo executa tanto o daemon POP
qto IMAP .A maioria dos sistemas Linux executa ambos

obs : Usuarios para serviços de e-mail são adicionados no Linuxconf :
linuxconf - user accounts - pop accounts ( mail only )