# Guia do Linux/Avançado/Servidor pop3/Introdução
## Introdução

É o servidor para recebimento de mensagens eletrônicas (e-mails) para o cliente de e-mails. O servidor pop3 documentado é o qpopper (da Qualcomm), é um dos mais usados em ambiente Linux, simples de configurar e distribuído livremente. O que este programa faz é ler os e-mails de usuários em /var/mail e os envia via porta 110 ao programa cliente (Netscape, sylpheed, mutt, balsa, Pegasus, Outlook, ou qualquer outro que suporte o protocolo pop3).

### Versão

É assumido que esteja usando a versão 4.0.3 do qpopper. As explicações contidas aqui podem funcionar para versões posteriores, mas é recomendável que leia a documentação sobre modificações no programa (changelog) em busca de mudanças que alterem o sentido das explicações fornecidas aqui.

### Contribuindo

O site do qpopper é http://www.eudora.com/qpopper/, anúncios de novas versões, bugs e correções são enviados para qpopper-announce@rohan.qualcomm.com (inscreva-se enviando uma mensagem com o assunto "subscribe" para o nome da lista acrescentando "-request"). A lista de suporte aos usuários é qpopper@lists.pensive.org (o método de inscrição é idêntico a lista announce).

### Características

** Simples de configurar.
** Possui um timeout padrão de 30 segundos ao invés de 10 minutos do protocolo pop3 padrão.
** O protocolo pop3 é mais simples e consome menos recursos no servidor que o IMAP.
** Suporte a envio de boletins aos usuários do sistema.
** Inclui suporte a TLS/SSL.
** Suporte a senhas ocultas (shadow passwords).
** Suporta PAM.
** Suporte a autenticação via APOP.
** Alta performance.

### Ficha técnica

Pacote: qpopper. Utilitários:
** in.qpopper - Servidor pop3.
** popauth - Manipula os bancos de dados de autorização quando é usado o método de autenticação APOP.
Arquivos de configuração:
** /etc/popper.allow - Contém a lista de usuários autorizados a usar o serviço pop3.
** /etc/popper.deny - Contém uma lista de usuários NÃO autorizados a usar o serviço pop3.
** /etc/pop.auth - Contém dados de autenticação criados pelo programa popauth.

### Requerimentos de Hardware

O servidor qpopper requer no mínimo 6MB de memória para rodar e espaço em disco suficiente para acomodar os e-mails de usuários.

### Arquivos de log criados pelo qpopper

Mensagens sobre a execução do qpopper são enviadas aos seguintes arquivos em /var/log:
** mail.info - Detalhes sobre autenticação de usuários e mensagens.
** mail.warn - Erros e avisos diversos ocorridos na seção pop3.
** syslog e daemon.log - Mensagens sobre a execução do servidor qpopper.
** auth.log - Mensagens de autenticação gerados pelo PAM.

### Instalação

apt-get install qpopper Por padrão o servidor qpopper é instalado via inetd:
Se estiver configurando um servidor pop3 com um grande número de conexões, é recomendável aumentar o número de execuções do serviço pop3 por minuto (no inetd.conf) ou rodar o servidor qpopper como daemon (preferido). Para fazer isto, remova a linha que inicia o qpopper no inetd.conf e construa um script que inicie o serviço como daemon usando a opção -S (veja outras opções em [#s-s-pop3-opcoescmd Opções de linha de comando, Seção 16.1.10]).

### Iniciando o servidor/reiniciando/recarregando a configuração

O serviço é executado por padrão via inetd e utiliza o controle de acesso tcpd (veja [ch-rede.html#s-rede-seg-tcpd O mecanismo de controle de acessos tcpd, Seção 4.8.3]). Adicionalmente você pode definir que usuários terão/não acesso ao serviço pop3 nos arquivos /etc/popper.allow e popper.deny. Por padrão, o acesso é garantido para qualquer usuário. Após instalar o servidor pop3 instalado, resta configurar o cliente para conectar ao servidor pop3 do servidor. O nome de usuário e senha são os usados no arquivo /etc/passwd.

### Teste de acesso no pop3

Um simples teste consiste em usar o telnet conectando a porta pop3 (110): telnet 127.0.0.1 110:
A resposta acima indica que o servidor pop3 está funcionando corretamente.

### Opções de linha de comando

Opções de linha de comando do servidor in.qpopper:

#### endereço

    porta
    Quando está operando em modo daemon (iniciado com -S), espera por conexões no endereço e opcionalmente na porta especificada. O endereço deverá ser o da interface de rede local do servidor (como 192.168.1.1) caso não seja especificado, o servidor qpopper monitorará todos os endereços. A porta padrão é 110 caso não seja especificada.

#### -b [diretório]

    Ativa o sistema de envio de boletins. O diretório especificado é o que contém os boletins que serão enviados (na distribuição Debian, o /var/spool/popbull é o indicado). Veja [#s-s-pop3-boletins Enviando boletins de mensagens, Seção 16.1.11] para instruções de utilização deste recurso.

#### -c

    Modifica a senha para caracteres minúsculos antes de autenticar, permitindo que clientes conectem com a senha em MAIÚSCULAS ou caracteres mIsTurados.

#### -f [arquivo]

    Especifica um arquivo de configuração para o servidor qpopper. Veja a página de manual para detalhes sobre as opções. Recomendo usar as opções de linha de comando exceto se for requerida configurações especiais para modificar o comportamento do servidor pop3.

#### -l [num]

    Modifica as opções de criptografia TLS/SSL usada no transporta da seção. Os seguintes valores são aceitos:
*   * 0 - Desativa TLS/SSL. É o padrão.
*   * 1 - Ativa o suporte a TLS/SSL. Se o cliente não suportar criptografia, os dados serão transmitidos usando a forma padrão.
*   * 2 - Tenta ativar uma conexão TLS quando o cliente conecta ao servidor usando uma porta alternativa.

#### -p [num]

    Seleciona como a senha em texto plano será manipulada. O servidor deverá estar compilado com suporte a outras formas de autenticação (como APOP) ao invés de texto plano. As seguintes opções são suportadas.
*   * 0 - Senhas em texto plano podem ser usadas para usuários não cadastrados no arquivo /etc/pop.auth (gerenciado pelo popauth. Este é o padrão.
*   * 1 - Somente permite acesso de usuários cadastrados no arquivo /etc/pop.auth. Qualquer acesso usando texto plano é negado.
*   * 2 - Permite autenticação usando texto plano como preferência, até mesmo para usuários que estejam no /etc/pop.auth). É útil para clientes que não suportam autenticação usando texto plano.
*   * 3 - Somente usuários conectando da mesma máquina (127.0.0.1) podem usar autenticação em texto plano.
*   * 4 - Permite autenticação usando texto plano somente se uma conexão criptográfica foi estabelecida usando TLS ou SSL.

#### -R

    Desativa a resolução reversa de endereços IP de clientes.

#### -s

    Registra dados de inicio da seção, nome de usuário, número de bytes/mensagens apagadas, número de mensagens deixadas no servidor e fim da seção. Estes detalhes são registrados pelo syslogd. Seu uso é recomendável para ter controle sobre o que está acontecendo em seu servidor.

#### -S

    Ativa o modo daemon. Útil para servidores pop3 com grande número de acessos.

#### -T [num]

    Tempo máximo em segundos para finalização da seção quando o cliente não envia nenhuma resposta ou comando. Valores pequenos (como 20) podem ser especificados para servidores que possuem poucos usuários e um link rápido. Para grande quantidade de usuários ou conexão feita via links lentos (como ppp, slip, plip, etc.) use valores como 600 (10 minutos) ou mais. O valor padrão é 120 segundos (2 minutos).

#### -u

    Lê o arquivo ~/.qpopper.options no diretório do usuário em busca de opções adicionais para o servidor. Este arquivo é lido após o processo de autenticação e deve ter permissões leitura/gravação para o dono. Isto não é recomendável em servidores seguros, a criptografia ou método de autenticação podem ser desativados sem o conhecimento do administrador comprometendo a segurança dos dados.

#### -U

    Idêntica a opção acima, mas o arquivo deve residir no diretório de spool (/var/spool/pop) e ter o formato:
Este arquivo deve ter como dono o administrador ou dono do servidor pop3. Esta alternativa é mais segura que a anterior porque o usuário não terá acesso ou desativar opções específicas.

#### -y [facilidade]

    Permite modificar o nível facilidade que as mensagens são registradas no syslogd (veja [ch-log.html#s-log-syslogd-exemplo Arquivo de configuração syslog.conf, Seção 6.2.1.1]).

### Enviando boletins de mensagens

Este recurso é muito útil para enviar alertas ou avisos para todos os usuários em seu sistema de uma só vez. A mensagem é escrita no diretório /var/spool/popbull seguindo um formato especial e quando o usuário pop3 se conecta para pegar seus e-mails receberá também uma cópia do boletim. O controle de boletins já recebido pelo usuário é feito no arquivo ~/.popbull. Siga os passos a seguir para configurar este sistema:
** Ative o suporte a envio de boletins no servidor qpopper, adicionando a opção -b /var/spool/popbull a linha de comando.
** Os números de boletins são controlados sequencialmente pelos arquivos ~/.popbull, portanto é importante começar com o nome do boletim com pelo menos 5 dígitos (00001, 00002, 00003, etc). Vamos usar 00001-teste em nosso exemplo.
** A primeira linha do boletim deve conter a palavra "From" e um espaço e deve ser completada com um nome e data, seguido de campos essenciais para o envio da mensagem:
Deve haver uma linha em branco para separar o cabeçalho da mensagem. OBS: Quando incluir novos usuários no sistema, somente os últimos 10 boletins serão enviados.

### Especificando quotas para as caixas de correio

Crie o diretório de spool /var/mail em uma partição separada e ative o sistema de quota do Linux nela. Leia as instruções em [ch-d-restr.html#s-d-restr-quotas Limitando o uso de espaço em disco (quotas), Seção 19.12].

### Restringindo acesso ao servidor pop3

O controle de acesso de conexões é feito via método tcpd usando o daemon in.qpopper (veja [ch-rede.html#s-rede-seg-tcpd O mecanismo de controle de acessos tcpd, Seção 4.8.3]). O controle de acesso dos usuários é feito através do arquivos /etc/popper.allow e /etc/popper.deny, respectivamente contém os nomes de usuários que podem e não podem ter acesso ao servidor qpopper. Por motivos de segurança é recomendável redirecionar os e-mails do usuário root para outra conta (no arquivo /etc/aliases e bloquear o acesso do usuário root ao pop3 no arquivo /etc/popper.deny. Se a máquina servidora pop3 não for utilizada para acesso remoto, é recomendável desativar os serviços de login (veja [ch-d-restr.html#s-d-restr-bash-desshell Desabilitando serviços de shell para usuários, Seção 19.1.6]).