Objetivos:
• Conhecer a evolução e a história dos servidores de e-mail;
• Entender os componentes dos sistemas de e-mail;
• Conhecer as aplicações para servidores de e-mail;
• Compreender o funcionamento do webmail;
• Conhecer uma lista de protocolos e portas relacionadas;
• Instalar e configurar um servidor de e-mails com interface gráfica.
E-mail História
• O correio eletrônico é um dos serviços de usuário
mais importante da internet.
• A web carrega um maior volume de tráfego, mas o e-
mail é o serviço usado para a maioria das
comunicações de pessoa a pessoa.
• Nenhuma rede está completa sem o e-mail e nenhum
sistema operacional de rede vale o seu preço se não
incluir suporte a correio.
E-mail História
• A importância deste tipo de servidor é notória e foi
um avanço na comunicação global.
• Para provar isso basta tentar responder algumas
perguntas simples:
1. Há quanto tempo você não recebe uma carta?
2. Quando foi que você recebeu ou enviou um e-mail?
E-mail História
• As respostas são uma evidencia clara da necessidade
atual da comunicação via e-mail.
• Alguns especialistas apontam que os IM (Instant
Messengers ou mensageiros instantaneos) embutidos
em sistemas Web, como Facebook, Gmail, Google
Plus, Skype, etc., vêm se tornando mais importantes,
substituindo os sistemas de e-mail.
E-mail História
• Em 1971, o primeiro e-mail foi enviado na ARPANET.
Raymond Tomlinson foi o responsável pelo primeiro
email onde, em 1971, através da ARPANET
(considerada a mãe da internet que conhecemos hoje)
supostamente enviou a mensagem “QWERTYUIOP”
com o aplicativo SNDMSG (send message) que permitia
à troca de mensagens de texto entre usuários
conectados na ARPANET
E-mail História
Para quem não sabe, email significa electronic mail —
ou seja, correio eletrônico. Normalmente os endereços
vêm com uma "@" (arroba) logo depois do nome do
usuário. Em inglês, essa arroba é lida como "at", que
significa o termo "em". Isso significa que o usuário está
"em" um determinado domínio.
E-mail Componentes
Um sistema de e-mail é formado por quatro componentes distintos,
sendo eles:
• MUA (Mail User Agent) ou Agente de Usuário de Correio é quem
permite ao usuário ler e compor mensagens;
• MTA (Mail Transfer Agent) ou Agente de Transporte de Correio, que
tem a função de rotear e direcionar as mensagens entre as
máquinas;
• LDA (Local Delivery Agent) ou Agente de Entrega local, que tem a
função de colocar as mensagens em um armazenamento local de
mensagens (caixas postais);
• AA (Acess Agent) ou Agente de Acesso, que conecta o agente de
usuário ao local onde as mensagens estão armazenadas. Este
componente é opcional na arquitetura dos sistemas de e-mail.
E-mail Componentes
• O MTA tem a função de receber um e-mail de um
MUA, compreender os endereços dos receptores e
enviar o e-mail para o servidor de destino.
• Os MTAs conversam entre si por meio de um
protocolo chamado SMTP, nos envios das mensagens.
• Eles são de fato as aplicações que estruturam o
serviço de e-mail.
E-mail Componentes
• Entre estas aplicações podemos citar:
• Microsoft Exchange
• Postfix Mail System
• Sendmail
• Qmail
• Zimbra
• Mais a frente veremos um exemplo de instalação de
um agente de entrega (MTA) utilizando o Postfix Mail
System como base.
E-mail Componentes
• Os LDAs são os componentes que tem a função de
receber as mensagens advindas do agente de
transporte e entregá-las nas caixas de mensagens dos
usuários.
• O aplicativo “mail” do UNIX é o agente de entrega
padrão para usuários locais neste tipo de sistema.
Outro tipo de agente de entrega é o Procmail.
• Este último é mais robusto e flexível que o mail e
também é o agente de entrega do Postfix.
E-mail Componentes
• Os AAs são os componentes que proporcionam o
acesso dos usuários às caixas de mensagens no
servidor.
• Para isto, há dois protocolos que são amplamente
utilizados, sendo eles: IMAP e POP.
• A característica básica do IMAP é que ele sincroniza as
mensagens entre o MUA e o servidor de e-mails.
• Exemplo: se você apaga uma mensagem no seu MUA,
ela será apagada no servidor.
E-mail Componentes
• Sobre o POP, a característica básica é que ele faz o
download das mensagens. Atuando como agente de
recebimento de e-mails.
Email PRÁTICA
• A primeira pergunta é sobre a função do servidor de e-mails
que você está configurando. A opção mais usada é "Internet
Site", onde você cria um servidor "de verdade", que envia e
recebe os e-mails diretamente.
Email PRÁTICA
• A segunda pergunta é sobre qual será o domínio do nosso
servidor de e-mail. Colocaremos empresa.local
Email PRÁTICA
Em seguida, faça backup do arquivo de configuração
principal do Postfix e configure o Postfix para seu
domínio usando os seguintes comandos.
# cp /etc/postfix/main.cf /etc/postfix/main.cf.original
# vim /etc/postfix/main.cf
Email PRÁTICA
• Agora configure a configuração do Postfix no arquivo main.cf
conforme mostrado nas telas a seguir:
• Substitua as variáveis myhostname , mydomain e mynetworks
para corresponder às suas próprias configurações.
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
smtpd_banner = $myhostname ESMTP
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
readme_directory = no
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
Arquivo original
Email PRÁTICA
Você pode executar o comando postconf -n para esvaziar o
arquivo de configuração principal do Postfix e verificar eventuais
erros, como mostrado na imagem abaixo.
# postconf -n
Email PRÁTICA
Depois que todas as configurações estiverem definidas, reinicie o
daemon Postfix para aplicar as alterações e verifique se o serviço
está sendo executado, inspecionando se o serviço mestre Postfix
está vinculado à porta 25 , executando o comando netstat .
# systemctl restart postfix
# systemctl status postfix
# netstat -tlpn
Email PRÁTICA
Teste o Postfix Mail Server
Para testar se o postfix pode lidar com a transferência de correio,
primeiro instale o pacote mailutils executando o seguinte
comando.
# apt-get install mailutils
Email PRÁTICA
Em seguida, usando o utilitário de linha de comando mail , envie
um e-mail para a conta root e verifique se o e-mail foi
transmitido com sucesso emitindo o comando abaixo para
verificar a fila de mensagens e listar o conteúdo do diretório
inicial /Maildir da raiz.
# echo “Corpo do e-mail" | mail -s “teste de
mensagem" root
# mailq
# mail
# ls /root/Maildir/
# ls /root/Maildir/new
# ls –l /root/Maildir/new/
Email PRÁTICA
Você também pode verificar de que maneira o e-mail
foi tratado pelo serviço postfix inspecionando o
conteúdo do arquivo de log de e-mail emitindo o
seguinte comando.
# tailf /var/log/mail.log
Email PRÁTICA
instalar e configurar Dovecot IMAP no Debian
O agente de entrega de correio que usaremos neste guia para
entregar mensagens de e-mail às caixas de correio de um
destinatário local é o Dovecot IMAP . IMAP é um protocolo
executado nas portas 143 e 993 ( SSL ), responsável pela leitura,
exclusão ou movimentação de e-mails em vários clientes de e-
mail.
O protocolo IMAP também usa a sincronização para garantir que
uma cópia de cada mensagem seja salva no servidor e permite
aos usuários criar vários diretórios no servidor e mover os emails
para esses diretórios para classificar os emails.
Email PRÁTICA
Instalar e configurar Dovecot IMAP no Debian
Este não é o caso do protocolo POP3 . O protocolo POP3 não
permite que os usuários criem vários diretórios no servidor para
classificar seu correio. Você só tem a pasta da caixa de entrada
para gerenciar o correio.
Para instalar o servidor núcleo Dovecot e o pacote Dovecot IMAP
no Debian, execute o seguinte comando.
# apt install dovecot-core dovecot-imapd
Email PRÁTICA
Instalar e configurar Dovecot IMAP no Debian
Após o Dovecot ter sido instalado em seu sistema, abra os
arquivos dovecot abaixo para edição e faça as seguintes
alterações. Primeiro, abra o arquivo /etc/dovecot/dovecot.conf ,
pesquise e descomente a seguinte linha:
listen = *, ::
Email PRÁTICA
Instalar e configurar Dovecot IMAP no Debian
Em seguida, abra /etc/dovecot/conf.d/10-auth.conf para edição
e localize e altere as linhas abaixo para se parecerem com o
trecho abaixo.
disable_plaintext_auth = no
auth_mechanisms = plain login
Email PRÁTICA
Instalar e configurar Dovecot IMAP no Debian
Abra o arquivo /etc/dovecot/conf.d/10-mail.conf e adicione a
seguinte linha para usar o local do Maildir em vez do formato
Mbox para armazenar emails.
mail_location = maildir:~/Maildir
Email PRÁTICA
Instalar e configurar Dovecot IMAP no Debian
O último arquivo a editar é /etc/dovecot/conf.d/10-master.conf .
Aqui, pesquise o bloco smtp-auth do Postfix e faça a seguinte
alteração aproximadamente na linha 95 em diante:
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
Email PRÁTICA
Instalar e configurar Dovecot IMAP no Debian
Depois de fazer todas as alterações acima, reinicie o daemon
Dovecot para refletir as alterações, verifique seu status e
verifique se o Dovecot está vinculado na porta 143 , emitindo os
comandos abaixo:
# systemctl restart dovecot.service
# systemctl status dovecot.service
Teste se o servidor de e-mail está funcionando corretamente
adicionando uma nova conta de usuário ao sistema e use o
comando telnet ou netcat para se conectar ao servidor SMTP e
enviar um novo e-mail para o novo usuário adicionado, conforme
ilustrado nos trechos abaixo.
# adduser maria
# nc localhost 25
# ehlo localhost
mail from: root
rcpt to: maria
data
subject: Testando a solução
O problema foi resolvido
.
quit
Verifique se o e-mail chegou à nova caixa de correio do usuário
listando o conteúdo do diretório inicial do usuário, conforme
mostrado na captura de tela abaixo.
# ls /home/maria/Maildir/new/
# cat /home/maria/Maildir/new/ [TAB]
Além disso, você pode se conectar à caixa de correio do usuário a
partir da linha de comando via protocolo IMAP, conforme mostrado
no trecho a seguir. O novo e-mail deve ser listado na caixa de
entrada do usuário.
# nc localhost 143
x1 LOGIN romualdo 123
x2 LIST "" "*"
x3 SELECT Inbox
x4 LOGOUT
Instalar e configurar o Webmail no Debian
Os usuários gerenciarão seus e-mails por meio do cliente Rainloop
Webmail . Antes de instalar o agente do usuário Rainloop mail,
primeiro instale o servidor Apache HTTP e os seguintes módulos
PHP exigidos pelo Rainloop, emitindo o seguinte comando.
# apt install apache2 php7.0 libapache2-mod-
php7.0 php7.0-curl php7.0-xml
Instalar e configurar o Webmail no Debian
Após a instalação do servidor web Apache, mude o caminho do
diretório para / var / www / html / diretório, remova o arquivo
index.html e execute o seguinte comando para instalar o Rainloop
Webmail.
# cd /var/www/html/
# cp index.html index.html.original
# rm index.html
# curl -sL
https://repository.rainloop.net/installer.php
| php
Instalar e configurar o Webmail no Debian
Após o cliente Rainloop Webmail ter sido instalado no sistema,
navegue até o endereço IP do seu domínio e faça login na interface
da web do administrador Rainloop com as seguintes credenciais
padrão:
http://192.168.0.102/?admin
Usuário: admin
Senha: 12345
Instalar e configurar o Webmail no Debian
Navegue até o menu Domínios , clique no botão Adicionar Domínio
e adicione suas configurações de nome de domínio como mostrado
na imagem a seguir.
Instalar e configurar o Webmail no Debian
Depois de terminar de adicionar suas configurações de domínio,
saia da interface de administração do Ranloop e aponte o
navegador para seu endereço IP para fazer login no cliente de
webmail com uma conta de e-mail.
Depois de fazer login com sucesso no webmail Rainloop, você
deverá ver o e-mail enviado anteriormente da linha de comando
para a pasta Caixa de entrada.
http://172.16.0.7
User: maria@empresa.local
Pass: 123
Para adicionar um novo usuário, emita o comando useradd com –m
sinalizador para criar o diretório inicial do usuário. Mas, primeiro
certifique-se de configurar a variável de caminho Maildir para cada
usuário com o seguinte comando.
# echo 'export MAIL=$HOME/Maildir' >> /etc/profile
# useradd -m user3
# passwd user3
Se você deseja redirecionar todos os e-mails do root para uma
conta de e-mail local específica do sistema, execute os comandos
abaixo. Todos os e-mails redirecionados ou destinados à conta root
serão encaminhados para o seu usuário de e-mail conforme
mostrado na imagem abaixo.
# echo "root: suporte" >> /etc/aliases
# newaliases
DOCENTE: Emerson Alves
Você instalou e configurou com sucesso um servidor
de correio em suas instalações para que os usuários
locais se comuniquem por e-mail.
Resumo: