Tabela de conteúdos
Arquitetura
Componentes
O sistema de correio eletrônico do DCC é composto por três serviços principais:
- Recebimento de mensagens
- Armazenamento e leitura de mensagens
- Envio de mensagens
Recebimento de mensagens
Esse serviço cuida do recebimento de mensagens externas e da aplicação de filtros iniciais nas mensagens. Quando é feita uma conexão externa, o servidor verifica se a máquina que está encabeçando a conexão é minimamente confiável (harmonia entre IP e nome, por exemplo); caso não seja, a conexão é recusada. Após essa verificação, é checada se a origem consta em uma lista de máquinas que já enviaram algum email para o DCC; se esse não for o caso, o nosso servidor pede para que o servidor do remetente confirme o envio da mensagem. Essa confirmação, pedida e recebida automaticamente, normalmente é ignorada por spammers.
Depois que a mensagem é recebida, ela é submetida a uma verificação por um filtro antivírus, que recusa mensagens infectadas, e também por um filtro anti-spam, que apenas marca as mensagens suspeitas com um cabeçalho específico, que pode ser utilizado por cada usuário para fazer uma filtragem própria. Depois desses testes, a mensagem é enviada para o servidor de armazenamento.
O serviço de recebimento de mensagens é feito por três servidores.
Armazenamento e leitura de mensagens
As mensagens ficam armazenadas em um servidor que também funciona como servidor IMAP, para ser utilizado por seu leitor de correspondência. Esse acesso pode ser feito tanto de dentro, quanto de fora do DCC, usando padrões de criptografia.
Cada usuário tem um quota de disco nesse servidor. Caso a quota seja ultrapassada, as mensagens ficam na fila por um período (no momento, quatro dias) esperando que o usuário libere espaço. Após esse prazo, a mensagem é retornada para o remetente, com uma mensagem de erro indicando a falta de espaço.
É feito um backup diário desse servidor, no horário da madrugada, para salvar as mensagens recebidas durante o dia.
Envio de mensagens
Esse serviço faz o encaminhamento das mensagens escritas pelos usuários nas máquinas do DCC. Caso a mensagem não possa ser entregue imediatamente, ela é colocada em uma fila de espera, para que sejam feitas outras tentativas de entrega. Essas tentativas são feitas automaticamente, sem necessidade de intervenção do usuário.
O serviço também pode ser acessado de fora do DCC, para possibilitar o envio de mensagens a partir de máquinas externas. Nesse caso, é necessário fazer uma autenticação usando os dados de login do DCC.