Integrando o Postfix com o Serviço Email Delivery

Use o Postfix para enviar e-mails por meio do serviço Email Delivery.

Configurar o Postfix para Enviar E-mails por meio do Serviço Email Delivery

O Postfix é um agente de transferência de e-mail gratuito e de código aberto que roteia e entrega correio eletrônico. Ele foi lançado sob a IBM Public License 1.0, que é uma licença de software livre, e já pode ser instalado. Para saber mais sobre o Postfix, consulte o site do Postfix. Você pode usar o Postfix para enviar e-mails por meio do serviço Email Delivery. Antes de usar o Postfix, você deve configurar o Oracle Cloud Infrastructure Email Delivery no aplicativo Postfix.

Importante

Essas instruções contêm um código de amostra para sua conveniência e são usadas como referência. Para suporte ao cliente, entre em contato com o suporte ao cliente do Postfix. Essas etapas foram testadas em uma instância de computação do Oracle Linux Server release 7.9 e no Postfix versão 2.10.1.
Observação

Os caminhos e comandos usados no procedimento a seguir para especificar localizações de arquivos são específicos para o Ubuntu/Debian. OS caminhos do arquivo ou OS comandos de edição podem ser diferentes, dependendo do sistema operacional que você está usando. As alterações nos arquivos de configuração são as mesmas.

Para permitir que o Postfix se integre ao serviço Email Delivery:

  1. Certifique-se de que o serviço Email Delivery esteja configurado para enviar e-mails. Consulte Conceitos Básicos.

    Observação

    As credenciais SMTP são obrigatórias para configurar o Postfix para usar o serviço Email Delivery. Certifique-se de observar o nome de usuário SMTP e a senha SMTP ao gerar as credenciais SMTP, que aparecem nas Definições do Usuário. Esses valores específicos, e não sua identidade de usuário do OCI, são necessários para a configuração. Se você tiver perdido a credencial de senha da sua Credencial SMTP, será necessário criar um novo conjunto de credenciais.

  2. Para abrir o arquivo main.cf, execute o seguinte comando:

    sudo vi /etc/postfix/main.cf

    Adicione as seguintes informações ao final do arquivo:

    smtp_tls_security_level = may 
    smtp_sasl_auth_enable = yes 
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd 
    smtp_sasl_security_options =
  3. O Email Delivery requer criptografia TLS segura (segurança no nível de transporte) para todos os envios de e-mail SMTP. Use a definição smtp_tls_security_level para que o Postfix use o suporte STARTTLS ao estabelecer conexão com servidores SMTP remotos, como o OCI Email Delivery:

    smtp_tls_security_level = may

    Para impor o uso de TLS para todas as comunicações do servidor remoto, use a seguinte configuração:

    smtp_tls_security_level = encrypt
    Observação

    Por padrão, o cliente Postfix assume que o tamanho máximo de mensagem permitido é aquele recebido na resposta EHLO (Extended HELO) inicial. Este será sempre o nosso padrão de implantação de 2 MB. Se você tiver um limite de tamanho máximo de mensagem maior, configure o cliente Postfix para ignorar esse valor padrão. Edite o arquivo /etc/postfix/main.cf e adicione o seguinte:
    smtp_discard_ehlo_keywords = size
  4. Atualize relayhost de modo a incluir o ponto final e a porta da sua conexão SMTP e salve ou atualize o arquivo. Por exemplo, para enviar mensagens por meio da nova porta de envio de e-mail padrão 587, use:

    relayhost = smtp.email.us-ashburn-1.oci.oraclecloud.com:587		
    Observação

    Para obter o valor de ponto final correto, consulte Pontos Finais de Autenticação e Conexão. Recomendamos a porta 587, portanto, anexe ":587" ao final do ponto final necessário, conforme fornecido no exemplo.
  5. Crie o arquivo sasl_passwd no mesmo diretório de main.cf.

    Execute o seguinte comando:

    sudo vi /etc/postfix/sasl_passwd
  6. Adicione seu host e porta de relay informando:

    server:port user:pass

    em que:

    • server é o host de relay e port é 25 ou, de preferência, 587.
    • user é o nome de usuário SMTP que você criou e pass é a senha que você recebeu quando gerou suas credenciais SMTP.
  7. Forneça as permissões no arquivo de senhas.

    Execute o seguinte comando:

    sudo chown root:root /etc/postfix/sasl_passwd && sudo chmod 600 /etc/postfix/sasl_passwd
  8. Gere o hash da senha.

    Execute o seguinte comando:

    sudo postmap hash:/etc/postfix/sasl_passwd
  9. Recarregue o Postfix.

    Execute o seguinte comando:

    sudo postfix reload
  10. Teste a configuração enviando um e-mail de teste.

    Execute o seguinte comando:

    echo "This is a test message" | mail -s "Test" -r <approved sender email address> <recipient email address>
    Observação

    Algumas versões de mail e mailx não suportam a chave -r para definir o remetente no e-mail ou a chave -a para criar cabeçalhos adicionais. Nesses casos, o remetente é determinado pelo sistema operacional e pode ser substituído por vários outros meios. Se quiser substituir os endereços de e-mail gerados pelo sistema nesse caso, você poderá usar regras de regravação localizadas em /etc/postfix/header_checks.

    Uma mensagem status=sent (250 Ok) no log indica que o e-mail foi enviado com sucesso.

Observação

Em alguns ambientes, o uso da autenticação SASL requer o seguinte pacote RPM: cyrus-sasl-plain. Consulte o site do PostFix para obter uma documentação mais detalhada sobre como configurar a autenticação SASL.

Mais Informações

  • Consulte o site do Postfix para obter mais informações sobre a configuração do Postfix.
  • Consulte smtp_tls_security_level para obter mais informações sobre o nível de segurança TLS SMTP padrão do cliente SMTP do Postfix.
  • Consulte smtpd_use_tls para obter mais informações sobre o suporte a STARTTLS para clientes SMTP remotos. Esse recurso foi introduzido no Postfix versão 2.2, mas foi descontinuado desde a versão 2.3.
  • Consulte Erros de TLS ao Integrar com o Postfix para obter técnicas de solução de problemas relacionadas ao serviço Email Delivery.