A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Linux

Slackware + Postfix + Maildir

Sab

18

Mar

2006


19:17

(5 votos, média 4.00 de 5) 


Image Dando continuidade ao meu plano de fazer "picadinho" do tutorial do Postfix, este pequeno how-to vai ensinar como trocar o padrão Unix formato mailbox pelo padrão Unix formato Maildir. E qual é a vantagem que Maria leva? Bããão... pra falar a verdade, é muito simples: ao invés do usuário ter um arquivo imenso com todos os emails, o bacaninha vai ter um diretório particular e cada email terá um arquivinho próprio :cool2:

Introdução

O mínimo que você precisa para acompanhar este tutorial é de uma máquina com sistema operacional Linux - distribuição Slackware, que o DNS (Bind) esteja funcionando perfeitamente e que você tenha apenas uma instalação básica do Postfix devidamente testada. Todos estes passos possuem tutoriais próprios na seção O caminho das pedras da Informática Numaboa.

Para alterar o formato de entrega de mensagens de mailbox para Maildir não é necessário qualquer software adicional - tudo se resume em alguns ajustes de configuração do sistema existente.

Ativando o formato Maildir

Um dos principais arquivos de configuração do Postfix é o /etc/postfix/main.cf. Neste arquivo ficam dois parâmetros que determinam o formato da entrega dos emails, o home_mailbox e o mail_spool_directory.

O parâmetro mail_spool_directory indica o diretório onde todos os emails recebidos devem ser armazenados. O valor default deste parâmetro é /var/mail. Só para conferir, verifique o valor default com:

# postconf -d mail_spool_directory
  mail_spool_directory = /var/mail

O valor default do parâmetro home_mailbox é vazio, o que faz o Postfix funcionar com entregas formato mailbox colocando todos os emails no diretório indicado pelo parâmetro mail_spool_directory. Verifique também o valor default deste parâmetro:

# postconf -d home_mailbox
  home_mailbox =

Para fazer com que o Postfix faça entregas Maildir, basta ajustar estes dois parâmetros:

# postconf -e home_mailbox=Maildir/
# postconf -e mail_spool_directory=/home/postfix

Há duas coisas importantes nesta configuração. A primeira é não esquecer da barra após o Maildir/ e, a segunda, é que se houver espaços antes ou depois do sinal =, o postconf estrila com uma mensagem de erro. Depois disso, como o seguro morreu de velho, confira o resultado:

# postconf home_mailbox

  home_mailbox = Maildir/

# postconf mail_spool_directory
  mail_spool_directory = /home/postfix

Atualizando o Postfix

Você já deve estar cansado de ouvir que, depois de alterar algum parâmetro de configuração, o Postfix PRECISA ser atualizado. A minha insistência em repetir isto é porque já perdi muitas horas e cheguei a fritar os miolos porque não conseguia os resultados desejados porque... esqueci de fazer um reload. O pior não é isto. De tempos em tempos o Postfix resolve dar uma atualizada por conta própria e uma coisa que simplesmente não queria funcionar começa a dar certo como num passe de mágica... e não tem coisa pior do que um comportamento que não sabemos explicar :crazy:

# postfix reload

Testando o Maildir

Para poder testar o formato Maildir precisamos de um usuário de teste. Depois disso podemos enviar mensagens locais e através de clientes remotos. Se tudo der certo, então podemos dizer que temos um sistema Postfix formato Unix Maildir.

Criando um usuário de teste

Já que é um usuário de teste, seu nome será teste e sua senha será teste. Como já indicamos que o diretório raiz das entregas de email deve ser /home/postfix/, o diretório do usuário teste precisa ser /home/postfix/teste.

# useradd -d /home/postfix/teste -s /bin/false -p teste -m teste

A opção -d indica o diretório home do usuário, -s indica o shell do usuário, -p diz que a senha é teste e -m cria o diretório se ele não existir. Está tudo com cara de certinho, só que recebemos uma mensagem de erro informando que não foi possível criar o diretório. É que o useradd cria apenas o diretório do usuário e, como não encontrou /home/postfix/, não pode fazer o que solicitamos. Como é só isto, fica fácil sair do impasse criando os diretórios faltantes e repetir o useradd:

# mkdir /home/postfix
# useradd -d /home/postfix/teste -s /bin/false -m teste

Confira se os diretórios foram criados corretamente:

# cd /home/postfix
# ls -l
  drwx--x--x   3 teste    users     104 2006-02-11 23:26 teste/
# cd teste
# ls

Observe que o diretório teste está vazio.

Testando a entrega local

Podemos usar o utilitário mailto ou um telnet na porta 25 para testar uma entrega local e verificar o que acontece com a mensagem enviada. O exemplo a seguir usa o mailto (Só para relembrar: para encerrar o texto e enviar o email, use Ctrl-D):

# mailto
  To: teste
  Subject: Teste de Maildir
Teste de entrega usando Maildir OK

Veja o que aconteceu com a árvore de diretórios:

/home --
       |-- postfix --
                    |-- teste --
                               |-- Maildir --
                                            |-- cur
                                            |-- new
                                            |-- tmp

O email que acabamos de enviar está no diretório new. Para ler o email faça o seguinte:

# cd /home/postfix/teste/new
# ls
  1139704658.V304I9M184074.ns2
# cat 1139704658.V304I9M184074.ns2
Return-Path: <
 O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.
 >
X-Original-To: teste
Delivered-To: 
 O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.
 
Received: by mail.numaboa.com.br (Postfix, from userid 0)
        id D34241C673; Sat, 11 Feb 2006 23:26:30 -0300 (BRT)
MIME-Version: 1.0
To: 
 O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.
 
Subject: Teste de Maildir
Message-ID: <0_12709_1142871690_1@ns2>
Content-ID: <0_12709_1142871690_2@ns2>
Content-type: text/plain
Date: Sat, 11 Feb 2006 23:26:30 -0300 (BRT)
From: 
 O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.
 

Teste de entrega usando Maildir OK

Testando com um cliente remoto

Se você possui uma conta de email num provedor qualquer, poderá usar a conexão SMTP desta conta para enviar uma mensagem para o usuário teste. Abra seu cliente (espero que não seja o outlook :afraid: ) e envie um email qualquer para o endereço O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo. . Se tudo estiver em riba, a mensagem deve chegar sem problemas no diretório /home/postfix/teste/new.

Finalmentes

Com esta configuração, os diretórios Maildir serão criados toda vez que novos usuários receberem o primeiro email. E isso é tudo. O tutorial é curtinho, mas é mais um passo na direção de um sistema Postfix completo. Como se diz em italiano, chi va piano va sano e va lontano smile

mfxbroker com рейтингчерный карандаш для глазооо полигон киевценыинтернет магазинразмер алиментов в украинеи другие

Informações adicionais