Uma versão anterior deste tutorial foi escrito por Justin Ellingwood
Introdução
Postfix é um popular open-source Agente de Transferência de Correio (MTA) que pode ser usado para rotear e entregar e-mail em um sistema Linux. Estima-se que cerca de 25% dos servidores públicos de correio na internet executam Postfix.
neste guia, irá aprender a instalar e configurar o Postfix num servidor Ubuntu 20.04., Em seguida, você vai testar que o Postfix é capaz de rotear corretamente o correio, instalando s-nail
, um agente de usuário de E-mail (MUA), também conhecido como um cliente de E-mail.
Note que o objectivo deste tutorial é ajudá-lo a pôr o Postfix a funcionar rapidamente com apenas algumas funcionalidades de E-mail. Você não terá um servidor de E-mail completo no final deste guia, mas você terá alguns dos componentes fundamentais de tal configuração para ajudá-lo a começar.
pré-requisitos
para seguir este guia, você precisará do seguinte:
- um servidor que execute o Ubuntu 20.,04 para funcionar como seu servidor de correio Postfix. Este servidor deve ter um utilizador não root com
sudo
privilégios e uma firewall configurada com UFW. Você pode seguir o nosso Guia Inicial de configuração do servidor Ubuntu 20.04 para configurar isto. - um nome de domínio totalmente qualificado apontado para o seu servidor Ubuntu 20.04. Você pode encontrar ajuda na configuração do seu nome de domínio com DigitalOcean seguindo a nossa documentação de rede de Domínios e DNS. Esteja ciente de que se você planeja acessar o e-mail a partir de um local externo, você terá que se certificar de que você tem um registro MX apontando para o seu servidor de E-mail também.,
Note que este tutorial assume que você está configurando uma máquina que tem a FQDN de mail.example.com
. Sempre que necessário, não se esqueça de alterar example.com
ou mail.example.com
para reflectir a sua própria FQDN.
Passo 1-A Instalação do Postfix
Postfix está incluída nos repositórios predefinidos do Ubuntu, para que o possa instalar com o APT.
para iniciar, actualize o seu ID local
cache de pacotes:
- sudo apt update
depois instale opostfix
pacote com o seguinte comando., Note que aqui passamos a variável ambiental
neste comando de instalação. Isso fará com que o processo de instalação solicitará que você configure algumas opções adicionais:
- sudo DEBIAN_PRIORITY=low apt install postfix
Este processo de instalação irá abrir uma série de prompts interativos. Para os fins deste tutorial, use a seguinte informação para preencher as suas instruções:
- Tipo Geral de configuração do correio?: Para isso, escolha o Site da Internet, uma vez que isso corresponde às nossas necessidades de infraestrutura.,
- System mail name: este é o domínio de base usado para construir um endereço de E-mail válido quando apenas é dada a parte da conta do endereço. Por exemplo, digamos que o nome da máquina do seu servidor é
mail.example.com
. Você provavelmente irá querer definir o nome de E-mail do sistema paraexample.com
de modo que, dado o nome de utilizadoruser1
, o Postfix irá usar o endereço.
- root and postmaster mail recipient: This is the Linux account that will be forwarded mail addressed to
root@
andpostmaster@
., Usa a tua conta principal para isto. Neste exemplo, sammy. - outros destinos para os quais aceitar o correio: isto define os destinos de correio que esta instância Postfix irá aceitar. Se você precisar adicionar quaisquer outros domínios que este servidor será responsável por receber, adicione estes aqui. Caso contrário, o padrão será suficiente.
- forçar as actualizações sincronizadas na fila de correio?: Uma vez que você provavelmente está usando um sistema de arquivos journaled, não aceitar aqui.Redes Locais: esta é uma lista das redes para as quais o seu servidor de E-mail está configurado para transmitir mensagens., O padrão funcionará para a maioria dos cenários. Se você optar por modificá-lo, no entanto, certifique-se de ser muito restritivo em relação à gama de rede.limite de tamanho da caixa de correio: isto pode ser usado para limitar o tamanho das mensagens. Configurando-o para
0
desactiva qualquer restrição de tamanho. - extensão de endereço Local: este é o carácter que pode ser usado para separar a parte regular do endereço de uma extensão (usado para criar nomes alternativos dinâmicos). O padrão,
+
irá funcionar para este tutorial., - protocolos de Internet para usar: Escolha se deve restringir a versão IP que o Postfix suporta. Para os propósitos deste tutorial, escolha tudo.
para ser explícito, estas são as definições utilizadas neste guia:
Nota: Se necessitar de alguma vez regressar para alterar estas definições, poderá fazê-lo escrevendo:
- sudo dpkg-reconfigure postfix
as instruções serão pré-povoadas com as suas respostas anteriores.
Quando o processo de instalação terminar, você está pronto para fazer algumas atualizações para a sua configuração Postfix.,
Passo 2-Alterar a configuração do Postfix
Agora você pode ajustar algumas configurações que o processo de instalação do pacote não lhe pediu. Muitas das configurações de configuração do Postfix são definidas no arquivo /etc/postfix/main.cf
. Em vez de editar este ficheiro directamente, poderá usar o postconf
comando para consultar ou definir as configurações de configuração.
para começar, defina a localização da caixa de correio não root do utilizador do Ubuntu., Neste guia, vamos usar o formato Maildir, que separa as mensagens em arquivos individuais que são então movidos entre diretórios baseados na ação do Usuário. A opção alternativa que não está coberta neste guia é o formato mbox, que armazena todas as mensagens dentro de um único arquivo.
define ohome_mailbox
variável aMaildir/
. Mais tarde, irá criar uma estrutura de directórios com esse nome dentro da pasta pessoal do seu utilizador., Configure home_mailbox
escrevendo:
- sudo postconf -e 'home_mailbox= Maildir/'
seguinte, defina a localização do virtual_alias_maps
table, que mapeia contas de E-mail arbitrárias para contas de Sistema Linux. Execute o seguinte comando, que os mapas de localização da tabela de um banco de dados de hash do arquivo chamado /etc/postfix/virtual
:
- sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Agora que você já definiu a localização dos mapas virtuais arquivo no seu main.cf
arquivo, você pode criar o arquivo e iniciar o mapeamento de contas de e-mail para contas de usuário no seu sistema Linux., Criar o arquivo com seu editor de texto preferido; neste exemplo, vamos usar nano
:
- sudo nano /etc/postfix/virtual
Lista todos os endereços que você deseja aceitar e e-mail para, seguido por um espaço em branco e o usuário de Linux que você gostaria que o correio é entregue.,
Por exemplo, se você gostaria de aceitar e-mail em: e
e gostaria de ter esses e-mails entregues para o sammy usuário Linux, você pode configurar o seu arquivo como este:
[email protected] [email protected] sammy
Depois de ter mapeado todos os endereços para o servidor apropriado contas, salve e feche o arquivo. Se você usou o nano
, pode fazer isso pressionando CTRL + X
Y
, então ENTER
.,
Aplicar o mapeamento escrevendo:
- sudo postmap /etc/postfix/virtual
Reinicie o Postfix processo para ter certeza de que todas as alterações foram aplicadas:
- sudo systemctl restart postfix
Supondo que você seguiu o pré-requisito Inicial Server guia de Instalação, você terá de configurar um firewall UFW. Esta firewall irá bloquear as ligações externas aos serviços no seu servidor por omissão, a menos que essas ligações sejam explicitamente permitidas, por isso terá de adicionar uma regra de firewall para permitir uma excepção para o Postfix.,
pode permitir ligações ao serviço escrevendo:
- sudo ufw allow Postfix
com isso, o Postfix está configurado e pronto para aceitar ligações externas. No entanto, você ainda não está pronto para testá-lo com um cliente de E-mail. Antes de instalar um cliente e usá-lo para interagir com o e-mail que está a ser entregue ao seu servidor, terá de fazer algumas alterações à configuração do seu servidor Ubuntu.,
Passo 3-Instalar o cliente de E-Mail e inicializar a estrutura Maildir
para interagir com o correio a ser entregue, este passo irá guiá-lo através do processo de instalação do ID
pacote. Esta é uma variante rica em recursos do BSDxmail
cliente que pode lidar com o formato Maildir corretamente.
Antes de instalar o cliente, no entanto, seria prudente certificar-se de que a sua variável de ambiente
está configurada correctamente.,s-nail
irá procurar esta variável para descobrir onde encontrar correio para o seu utilizador.
Para garantir que o MAIL
variável é definida independentemente de como você acessar sua conta, seja através de ssh
su
su -
, ou sudo
por exemplo, será necessário definir a variável /etc/bash.bashrc
arquivo e adicioná-lo a um arquivo dentro de /etc/profile.d
verifique se ele está definido para todos os usuários por padrão.,
para adicionar a variável Para esses arquivos, digite:
- echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
Para ler a variável em sua sessão atual, fonte /etc/profile.d/mail.sh
arquivo:
- source /etc/profile.d/mail.sh
Com que concluir, instalar o s-nail
cliente de e-mail com o APT:
- sudo apt install s-nail
Antes de executar o cliente, existem algumas configurações que você precisa para ajustar. Abra o /etc/s-nail.rc
arquivo no seu editor:
- sudo nano /etc/s-nail.rc
No final do arquivo, adicione as seguintes opções:
. . .set emptystartset folder=Maildirset record=+sent
Aqui está o que estas linhas:
-
set emptystart
: permite que o cliente abra mesmo com uma caixa de entrada vazia -
set folder=Maildir
: define oMaildir
diretório para o internofolder
variável -
set record=+sent
cria umsent
arquivo mbox para o armazenamento de emails enviados dentro de qualquer diretório é definido como ofolder
variável, neste casoMaildir
Salve e feche o arquivo quando você terminar., Agora está pronto para iniciar a estrutura Maildir do seu sistema.
uma forma rápida de criar a estrutura Maildir dentro da sua pasta pessoal é enviar a si próprio um e-mail com o comando s-nail
. Dado que o ficheiro sent
só estará disponível uma vez criada a Maildir, deverá desactivar a gravação para este e-mail inicial. Faça isso passando a opção -Snorecord
.
envie o e-mail por piping uma cadeia de caracteres para o comando s-nail
., Ajustar o comando para marcar o seu usuário de Linux como o destinatário:
- echo 'init' | s-nail -s 'init' -Snorecord sammy
Nota: Você pode receber a seguinte resposta:
OutputCan't canonicalize "/home/sammy/Maildir"
Isso é normal e só pode aparecer quando enviar esta mensagem primeira.,
Você pode verificar para certificar-se de que o diretório foi criado pelo olhando para o ~/Maildir
diretório:
- ls -R ~/Maildir
Você vai ver a estrutura de diretório foi criado e que um novo arquivo de mensagem é ~/Maildir/new
diretório:
Agora que a estrutura de diretório foi criado, você está pronto para testar o s-nail
cliente visualizando o init
mensagem enviada e o envio de uma mensagem para um endereço de email externo.,
Passo 4 — Teste o Cliente
Para abrir o cliente, execute o s-nail
comando:
- s-nail
No seu console, você verá uma pequena caixa de entrada com o init
mensagem em espera:
Pressione ENTER
para exibir a mensagem:
Você pode voltar para a lista de mensagens digitando h
e, em seguida, ENTER
:
- h
Output>R 1 [email protected] 2020-05-19 15:40 14/392 init
Repare que a mensagem tem agora um estado de R
, o que indica que foi lido.,
uma vez que esta mensagem não é muito útil, você pode excluí-lo pressionando d
e, em seguida, ENTER
:
- d
para voltar Para o terminal, tipo q
e ENTER
:
- q
Como um teste final, verifique se s-nail
é capaz de corretamente envia mensagens de e-mail. Para fazer isso, você pode enviar o conteúdo de um arquivo de texto para o s-nail
processo de, como você fez com o init
mensagem enviada em etapa anterior.,
Comece a escrever uma mensagem de teste em um editor de texto:
- nano ~/test_message
Dentro, introduza algum texto que você gostaria de enviar:
Hello,This is a test. Please confirm receipt!
Salve e feche o arquivo, depois de escrever a sua mensagem.
então, use o comando cat
para encaminhar a mensagem para o processo s-nail
., Você pode fazer isso com o seguinte exemplo, que usa estas opções:
-
-s
: define-se a linha de assunto da mensagem de e-mail -
-r
: opcional mudar para o campo “De:” o campo do e-mail. Por padrão, o usuário Linux que você está conectado como será usado para preencher este campo. A opção-r
permite-lhe sobrepor isto com um endereço válido, como um dos que definiu no ficheiro/etc/postfix/virtual
., Para ilustrar, o comando a seguir usa
além disso, certifique-se de alterar para um endereço de email válido que você tem acesso a:
- cat ~/test_message | s-nail -s 'Test email subject line' -r [email protected] [email protected]
em Seguida, navegue até a entrada para o endereço de e-mail para o qual você enviou a mensagem. Você verá sua mensagem esperando lá quase imediatamente.Nota: Se a mensagem não estiver na sua caixa de entrada, pode ter sido entregue na sua pasta de Spam.
pode ver as suas mensagens enviadas dentro do seu s-nail
cliente., Inicie o cliente interativo novamente:
- s-nail
a Partir do cliente de e-mail, ler suas mensagens enviadas escrevendo:
- file +sent
Você vai ver o resultado como este:
Output+sent: 1 message 1 new▸N 1 [email protected] 2020-05-19 15:47 12/297 Test email subject line
Você pode gerenciar emails enviados usando os mesmos comandos que você usa para e-mails recebidos.
conclusão
tem agora o Postfix configurado no seu servidor Ubuntu 20.04. Gerir servidores de E-mail pode ser uma tarefa difícil para novos administradores de sistema, mas com esta configuração, você deve ter a funcionalidade de E-mail MTA suficiente para começar.