Postfix · 3 min read · Nov 18, 2025

Hospedagem Virtual com Postfix, parte um

Versão 1.0

Autor: Joe Topjian

O suporte a domínios virtuais no Postfix é na verdade bastante robusto. Existem três maneiras diferentes de hospedar domínios virtuais com o Postfix e todas estão descritas aqui. Vamos olhar para a terceira: domínios separados e contas não-unix.

Por que esta? Porque, no final, essa opção nos dá a maior flexibilidade. É um pouco mais complicado de configurar e entender, mas vale a pena quando você está hospedando vários domínios.

Nosso objetivo final é ter um servidor de email que suporte a entrega de emails para múltiplos domínios. Cada endereço de email será autêntico apenas para aquele domínio. Por exemplo, [email protected] e [email protected] são duas contas diferentes que recebem emails diferentes.

Para começar, vamos transformar todos os domínios em hosts virtuais. Mesmo que você tenha o Postfix configurado com um único domínio, vamos tornar esse domínio virtual. Você não precisa fazer isso, mas eu faço porque acho mais organizado. Ter o Postfix hospedando um domínio real e o restante virtual significa que você sempre precisará configurar o Postfix duas vezes: uma vez para cada tipo de domínio. Para fazer isso, vamos mudar nossa linha myhostname em main.cf para ler:

myhostname = localhost

Em seguida, vamos adicionar as seguintes informações de domínio virtual ao main.cf (tudo isso será explicado depois):

virtual_mailbox_domains = /etc/postfix/vhosts.txt

virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps.txt
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
virtual_alias_maps = hash:/etc/postfix/valias.txt

Na primeira linha, estamos usando um arquivo de texto chamado vhosts.txt. Você pode na verdade nomear isso como quiser. Dentro deste arquivo de texto haverá uma lista simples de uma coluna de todos os domínios que você está hospedando. Por exemplo:

domain1.com

domain2.com

virtual.org

A próxima linha especifica o diretório base onde armazenaremos todos os nossos emails. Novamente, você pode escolher qualquer coisa que quiser.

A terceira linha aponta para um arquivo de texto que eu chamei de vmaps.txt. Este é um arquivo de texto de duas colunas. A primeira coluna especifica um endereço de email virtual. A segunda coluna especifica a localização da caixa de correio daquela pessoa. Assim como na hospedagem de domínios reais, se você especificar uma / no final da localização, ela se torna formato Maildir. Se não, é mbox. Eu especifiquei hash porque também estou transformando vmaps.txt em um arquivo hash executando:

postmap vmaps.txt

Isso resulta em um arquivo chamado vmaps.txt.db. O Postfix é capaz de procurar informações em hashes mais rapidamente do que em um arquivo de texto normal.

O conteúdo de vmaps.txt se parece com isso:

[email protected] domain1.com/joe/

[email protected] domain2.com/joe/

[email protected] virtual.org/john/

Dê uma olhada na segunda coluna. O valor é anexado à nossa linha virtual_mailbox_base. Assim, o caminho absoluto da caixa de correio virtual se torna, por exemplo, /var/spool/vmail/domain1.com/joe/. Não se esqueça de realmente criar os diretórios domain1.com e joe. Como esta caixa de correio está no formato maildir, precisaremos de 3 subdiretórios sob esta caixa de correio: new, cur, tmp. Existem vários scripts por aí para fazer isso, mas basicamente isso funciona muito bem:

mkdir new cur tmp

chmod 700 new cur tmp

As próximas duas linhas definem uma conta que configuraremos que terá permissão para acessar as caixas de correio. Sim, uma conta terá a capacidade de ler todos os emails virtuais. Sim, isso pode ser considerado um problema de segurança. Por favor, faça o seu melhor para garantir que ninguém possa se tornar esse usuário. Vamos chamar a conta de “virtual”. Adicione-a da maneira que quiser ao sistema (por exemplo, useradd) e anote seu uid e gid.

A linha final especifica um arquivo de texto onde podemos colocar aliases para contas virtuais. O conteúdo se parece com isso:

[email protected] [email protected]

Finalmente, você precisará dar a propriedade das caixas de correio ao usuário virtual. Executar isso resolverá:

chown -R virtual:virtual /var/spool/vmail

E é isso. Basta executar um “postfix reload” e você está pronto. Claro que agora precisamos de uma maneira de realmente recuperar o email. Eu farei isso na Parte Dois.

Parte Dois:

https://www.howtoforge.com/linux_postfix_virtual_hosting_2

Localização original deste documento:

http://adminspotting.net/howtos/postfixvirtual.html

| |

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.