o autor selecionou o Fundo livre e de código aberto para receber uma doação como parte do programa Write for DOnations.

introdução

Postfix é um agente de transferência de E-mail (MTA), uma aplicação usada para enviar e receber e-mails. Ele pode ser configurado para que possa ser usado para enviar e-mails apenas por aplicação local., Isto é útil em situações em que você precisa enviar regularmente notificações de E-mail de seus aplicativos ou simplesmente ter um monte de tráfego de saída que um provedor de serviços de E-mail de terceiros não permitirá. É também uma alternativa mais leve para executar um servidor SMTP completo, mantendo a funcionalidade necessária.

neste tutorial, irá instalar e configurar o Postfix como um servidor send-only SMTP. Você também vai pedir certificados TLS gratuitos de Let’s Encrypt para o seu domínio e encriptar os e-mails enviados usando-os.

pré-requisitos

  • um Ubuntu 18.,04 servidor configurado com a configuração inicial do servidor com Ubuntu 18.04, incluindo a criação de um usuário não-root sudo.
  • um nome de domínio totalmente registado. Este tutorial irá usar your_domain ao longo de todo. Você pode comprar um nome de domínio no Namecheap, obter um de graça no Freenom, ou usar o registrador de domínio de sua escolha.
  • um registo DNS com your_domain apontando para o endereço IP público do seu servidor. Você pode acompanhar esta introdução ao DNS DigitalOcean para obter detalhes sobre como adicioná-los.,

Nota: o nome da máquina do seu servidor e o nome da sua ‘Droplet’ devem corresponder a your_domain, porque a DigitalOcean define automaticamente os registos de PTR para o endereço IP da ‘Droplet’ de acordo com o seu nome.

pode verificar o nome da máquina do servidor escrevendo hostname na linha de comandos. O resultado deverá corresponder ao nome que deu à gota quando estava a ser criada.

Passo 1 — Instalar o Postfix

nesta etapa, irá instalar o Postfix., A maneira mais rápida é instalar o pacote mailutils, que agrupa o Postfix com alguns programas adicionais que você vai usar para testar o envio de E-mail.

Primeiro, atualize o pacote de banco de dados:

  • sudo apt update

em Seguida, instalar o Postfix, executando o seguinte comando:

  • sudo apt install mailutils

Perto do final do processo de instalação, você será apresentado com a configuração do Postfix janela:

A opção padrão é Internet Site., Essa é a opção recomendada para o seu caso de uso, então pressione TAB, e então ENTER. Se você só ver o texto da descrição, pressione TABpara selecionar OK, então ENTER.,

Se ele não aparecer automaticamente, execute o seguinte comando para iniciar:

  • sudo dpkg-reconfigure postfix

Após isso, você vai pegar de outra configuração de comandos sobre o Sistema de nome de correio:

O Sistema de correio nome deve ser o mesmo que o nome atribuído ao seu servidor quando você estava criando. Quando terminar, pressione TAB, seguido por ENTER.

já instalou o Postfix e está pronto para começar a configurá-lo.,

Passo 2-Configurar o Postfix

neste passo, irá configurar o Postfix para enviar e receber e—mails apenas do servidor em que está a correr-isto é, de localhost.

para que isso aconteça, o Postfix precisa ser configurado para ouvir apenas na interface loopback, a interface de rede virtual que o servidor usa para se comunicar internamente. Para fazer as alterações, terá de editar o ficheiro de configuração principal do Postfix chamado main.cf, guardado sob etc/postfix.,

Abra-o para edição utilizando o seu editor de texto favorito:

  • sudo nano /etc/postfix/main.cf

Localizar as seguintes linhas:

/etc/postfix/principal.cf.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .

Defina o valor de inet_interfaces definição loopback-only:

/etc/postfix/principal.cf.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = loopback-only. . .

Outro directiva você precisará modificar é mydestination, que é usado para especificar a lista de domínios que são entregues através de local_transport entrega de email de transporte., Por padrão, os valores são semelhantes aos seguintes:

/etc/postfix/principal.cf.
. . .mydestination = $myhostname, your_domain, localhost.com, , localhost. . .

Altere a linha para o seguinte aspecto:

/etc/postfix/principal.cf.
. . .mydestination = localhost.$mydomain, localhost, $myhostname. . .

Se o seu domínio é na verdade um subdomínio, e você quer que as mensagens de e-mail para olhar como se eles foram enviados a partir do domínio principal, você pode adicionar a seguinte linha ao final da main.cf:

/etc/postfix/principal.,cf
...masquerade_domains = your_main_domain

o opcional masquerade_domains define os domínios para os quais a parte subdominada será removida no endereço de E-mail.

Quando terminar, salve e feche o arquivo.

Nota: Se você está hospedando vários domínios em um único servidor, os outros domínios também podem ser passados para Postfix usando o mydestination diretiva.

então, reinicie o Postfix executando o seguinte comando:

  • sudo systemctl restart postfix

configurou o Postfix para apenas enviar e-mails do seu servidor., Você vai agora testá-lo, enviando uma mensagem de exemplo para um endereço de E-mail.

Passo 3 — Testar o Servidor SMTP

neste passo, você vai testar se o Postfix pode enviar e-mails para uma conta de e-mail externo usando o mail comando, que é parte de mailutils pacote que você instalou o primeiro passo.

Para enviar um e-mail de teste, execute o seguinte comando:

  • echo "This is the body of the email" | mail -s "This is the subject line" your_email_address

Você pode alterar o corpo e o assunto do e-mail para seu gosto., Lembre-se de substituir your_email_address por um endereço de E-mail válido a que pode aceder.Agora, verifique o endereço de E-mail para o qual Enviou esta mensagem. Devias ver a mensagem na tua caixa de entrada. Se não estiver lá, verifique a sua pasta de spam. Neste momento, todos os e-mails que você envia não estão criptografados, o que faz com que os prestadores de serviços pensem que é provável spam. Vais configurar a encriptação mais tarde, no Passo 5.,

Se receber um erro do comando

, ou se não tiver recebido uma mensagem após períodos prolongados de tempo, verifique se a configuração Postfix que editou é válida e se o nome e o nome do seu servidor estão definidos para o seu domínio.

Note que, com essa configuração, o endereço de From campo para o teste de e-mails que você enviar vai ser em forma de your_user_name@your_domain, onde your_user_name é o nome do servidor do usuário que executou o comando.,

Você agora enviou um e-mail do seu servidor e verificou que ele foi recebido com sucesso. No próximo passo, você irá configurar o encaminhamento de E-mail para root.

Step 4-Forwarding System Mail

neste passo, você irá configurar o encaminhamento de E-mail para o utilizador root, de modo que as mensagens geradas pelo sistema enviadas para ele no seu servidor sejam encaminhadas para um endereço de E-mail externo.

o ficheiro /etc/aliases contém uma lista de nomes alternativos para destinatários de E-mail., Abra-o para edição:

  • sudo nano /etc/aliases

Em seu estado padrão, ele se parece com isso:

/etc/aliases
# See man 5 aliases for formatpostmaster: root

O único presente directiva especifica que o sistema gerado e-mails são enviados para root.

Adicionar a seguinte linha ao final do arquivo:

/etc/aliases
...root: your_email_address

Com esta linha, você pode especificar que os e-mails enviados para root acabam sendo encaminhadas para um endereço de e-mail. Lembre-se de substituir your_email_address pelo seu endereço de email pessoal., Quando terminar, salve e feche o arquivo.

para que a alteração tenha efeito, execute o seguinte comando:

  • sudo newaliases

Com newaliases vai construir um banco de dados de aliases que o mail comando usa, que são tomadas a partir do arquivo de configuração que você editou.

Test that sending e-mails to root works by running:

  • echo "This is the body of the email" | mail -s "This is the subject line" root

deverá receber o e-mail no seu endereço de E-mail. Se não estiver lá, verifique a sua pasta de spam.,

nesta etapa, você configurou reencaminhamento de mensagens geradas pelo sistema para o seu endereço de E-mail. Agora você vai activar a encriptação de mensagens, de modo que todos os e-mails que o seu servidor envia são imunes a adulteração em trânsito e serão vistos como mais legítimos.

Passo 5-Activar a cifra SMTP

irá agora activar a cifra SMTP, solicitando um certificado TLS gratuito de ‘Let’s Encrypt for your domain’ (usando o Certbot) e configurando o Postfix para o usar ao enviar mensagens.

Ubuntu inclui Certbot em seu repositório de pacotes padrão, mas pode acontecer que esteja desactualizado., Em vez disso, irá adicionar o repositório oficial, executando o seguinte comando:

  • sudo add-apt-repository ppa:certbot/certbot

Pressione ENTER quando solicitado a aceitar. Em seguida, atualize o seu servidor do gerenciador de pacotes do cache:

  • sudo apt update

Finalmente, instale a versão mais recente do Certbot:

  • sudo apt install certbot -y

Como parte do período inicial de instalação do servidor no pré-requisitos, você instalada ufw, o uncomplicated firewall. Você terá que configurá-lo para permitir a versão HTTP 80, para que a verificação do domínio possa ser concluída., Execute o seguinte comando para habilitar-lo:

  • sudo ufw allow 80

A saída será semelhante a este:

Output
Rule addedRule added (v6)

Agora que a porta está aberta, execute Certbot para obter um certificado:

  • sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d your_domain

Este comando ordens Certbot para emitir certificados com um tamanho de chave RSA de 4096 bits, para executar uma temporário autônomo web server (--standalone) para verificação, e verificar através da porta 80 (--preferred-challenges http)., Lembre-se de substituir o your_domain pelo seu domínio antes de executar o comando, e indique o seu endereço de E-mail quando for solicitado.

O resultado será semelhante a este:

Output
Saving debug log to /var/log/letsencrypt/letsencrypt.logPlugins selected: Authenticator standalone, Installer NoneObtaining a new certificatePerforming the following challenges:http-01 challenge for `your_domain`Waiting for verification...Cleaning up challengesIMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/your_domain/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/your_domain/privkey.pem Your cert will expire on 2020-07-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le

Como está escrito nas notas, o seu certificado e uma chave privada de arquivos foram salvos em /etc/letsencrypt/live/your_domain.

Agora que tem o seu certificado, abra para edição:

  • sudo nano /etc/postfix/main.cf

Encontre a seguinte secção:

/etc/postfix/main.,cf

modifique-o para ficar assim, substituindo your_domain com o seu domínio, se necessário, o que irá actualizar a sua configuração do TLS para o Postfix:

/etc/postfix/main.cf

Uma vez terminado, gravar e fechar o ficheiro.

Aplicar as alterações ao reiniciar o Postfix:

  • sudo systemctl restart postfix

Agora, tente enviar um e-mail novamente:

  • echo "This is the body of an encrypted email" | mail -s "This is the subject line" your_email_address

em Seguida, verifique o endereço de e-mail que você forneceu. É possível que você veja a mensagem na sua caixa de entrada imediatamente, porque os provedores de E-mail são muito mais propensos a marcar mensagens não cifradas como spam.,

pode verificar a informação técnica sobre a mensagem de E-mail no seu cliente para ver se a mensagem está realmente encriptada.

conclusão

agora tem um servidor de E-mail apenas enviado, alimentado por Postfix. Cifrar todas as mensagens enviadas é um bom primeiro passo para os provedores de E-mail não marcando suas mensagens como spam imediatamente. Se está a fazer isto num cenário de desenvolvimento, então esta medida deve ser suficiente.,

no entanto, se o seu caso de uso é para enviar e-mails para potenciais usuários do site (tais como e-mails de confirmação para uma placa de mensagens de inscrição), você deve olhar para a criação de registros SPF, de modo que os e-mails do seu servidor são ainda mais provável de ser visto como legítimo.

Articles

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *