

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Integração do Amazon SES com o Postfix
<a name="postfix"></a>

Postfix é uma alternativa ao Message Transfer Agent (MTA) do Sendmail. Para obter informações sobre o Postfix, acesse. [http://www.postfix.org](http://www.postfix.org) Os procedimentos neste tópico funcionarão com Linux, macOS ou Unix.

**nota**  
☻O Postfix é uma aplicação de terceiros e não é desenvolvido nem suportado pela Amazon Web Services. Os procedimentos nesta seção são fornecidos apenas para fins informativos e estão sujeitos a alterações sem aviso prévio.

## Pré-requisitos
<a name="send-email-postfix-prereqs"></a>

Antes de concluir os procedimentos desta seção, você precisa realizar as seguintes tarefas:
+ Desinstale a aplicação Sendmail, se estiver instalada em seu sistema. O procedimento para concluir esta etapa pode variar dependendo de seu sistema operacional.
**Importante**  
As referências a *sendmail* a seguir referem-se ao comando Postfix`sendmail`. Não as confunda com a aplicação Sendmail.
+ Instale o Postfix. O procedimento para concluir esta etapa pode variar dependendo de seu sistema operacional.
+ Instale um pacote de autenticação SASL. O procedimento para concluir esta etapa pode variar dependendo de seu sistema operacional. Por exemplo, se você usa um RedHat-based sistema, deve instalar o `cyrus-sasl-plain` pacote. Se você usa um Ubuntu-based sistema ou Debian, você deve instalar o `libsasl2-modules` pacote.
+ Confirme o endereço de e-mail ou domínio que você usará para enviar e-mails. Para obter mais informações, consulte [Criação da identidade de um endereço de e-mail](creating-identities.md#verify-email-addresses-procedure).
+ Se a sua conta ainda estiver no sandbox, você só poderá enviar e-mail para endereços de e-mail verificados. Para obter mais informações, consulte [Solicitar acesso à produção (sair da sandbox do Amazon SES)](request-production-access.md).

## Configuração do Postfix
<a name="send-email-postfix"></a>

Realize os seguintes procedimentos para configurar seu servidor de e-mail para enviar e-mails por meio do Amazon SES usando o Postfix.

**Para configurar o Postfix**

1. Na linha de comando, digite o seguinte comando:

   ```
   sudo postconf -e "relayhost = [{{email-smtp.us-west-2.amazonaws.com}}]:587" \
   "smtp_sasl_auth_enable = yes" \
   "smtp_sasl_security_options = noanonymous" \
   "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd" \
   "smtp_use_tls = yes" \
   "smtp_tls_security_level = secure" \
   "smtp_tls_note_starttls_offer = yes"
   ```
**nota**  
Se você usa o Amazon SES em uma AWS região diferente do Oeste dos EUA (Oregon), {{email-smtp.us-west-2.amazonaws.com}} substitua o comando anterior pelo endpoint SMTP da região apropriada. Para obter mais informações, consulte [Regiões e o Amazon SES](regions.md).

1. Em um editor de texto, abra o arquivo `/etc/postfix/master.cf`. Procure a seguinte entrada:

   ```
   -o smtp_fallback_relay=
   ```

   Se você encontrar essa entrada, faça um comentário, colocando um caractere `#` (hash) no início da linha. Salve e feche o arquivo.

   Caso contrário, se essa entrada não estiver presente, continue na próxima etapa.

1. Em um editor de texto, abra o arquivo `/etc/postfix/sasl_passwd`. Se o arquivo ainda não existir, crie-o.

1. Adicione a seguinte linha a `/etc/postfix/sasl_passwd`:

   ```
   [{{email-smtp.us-west-2.amazonaws.com}}]:587 {{SMTPUSERNAME}}:{{SMTPPASSWORD}}
   ```
**nota**  
Substitua {{SMTPUSERNAME}} e {{SMTPPASSWORD}} por suas credenciais de login SMTP. Suas credenciais de login SMTP não são iguais ao ID da chave de acesso e à chave de acesso secreta da AWS . Para obter mais informações sobre credenciais, consulte [Obtenção de credenciais SMTP do Amazon SES](smtp-credentials.md).  
Se você usa o Amazon SES em uma AWS região diferente do Oeste dos EUA (Oregon), substitua {{email-smtp.us-west-2.amazonaws.com}} no exemplo anterior pelo endpoint SMTP da região apropriada. Para obter mais informações, consulte [Regiões e o Amazon SES](regions.md).

   Salve e feche `sasl_passwd`.

1. Em um prompt de comando, digite o comando a seguir para criar um arquivo de banco de dados de hashmap que contém suas credenciais SMTP:

   ```
   sudo postmap hash:/etc/postfix/sasl_passwd
   ```

1. (Opcional) Os arquivos `/etc/postfix/sasl_passwd` e `/etc/postfix/sasl_passwd.db` que você criou nas etapas anteriores não são criptografados. Como esses arquivos contêm suas credenciais do SMTP, recomendamos que você modifique a propriedade e as permissões dos arquivos para restringir o acesso a eles. Para restringir o acesso a esses arquivos:

   1. Em um prompt de comando, digite o comando a seguir para alterar a propriedade dos arquivos:

      ```
      sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
      ```

   1. Em um prompt de comando, digite o comando a seguir para alterar as permissões dos arquivos de modo que apenas o usuário raiz possa ler ou gravar neles:

      ```
      sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
      ```

1. Diga ao Postfix onde encontrar o certificado CA (necessário para verificar o certificado do servidor do Amazon SES). O comando que você usa nesta etapa varia de acordo com o seu sistema operacional.
   + Se você usa o Amazon Linux, o Red Hat Enterprise Linux ou uma distribuição relacionada, digite o comando a seguir: 

     ```
     sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
     ```
   + Se você usa Ubuntu ou uma distribuição relacionada, digite o comando a seguir:

     ```
     sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt'
     ```
   + Se você usa macOS, pode gerar o certificado a partir do conjunto de chaves do sistema. Para gerar o certificado, digite o comando a seguir na linha de comando:

     ```
     sudo security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee /etc/ssl/certs/ca-bundle.crt > /dev/null
     ```

     Depois que você gerar o certificado, digite o comando a seguir:

     ```
     sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
     ```

1. Digite o comando a seguir para iniciar o servidor do Postfix (ou para recarregar os parâmetros de configuração, se o servidor já estiver em execução):

   ```
   sudo postfix start; sudo postfix reload
   ```

1. Envie um e-mail de teste digitando o seguinte em uma linha de comando, pressionando Enter após cada linha. {{sender@example.com}}Substitua pelo seu endereço de e-mail do remetente. O endereço From (De) precisa ser verificado para uso com o Amazon SES. {{recipient@example.com}}Substitua pelo endereço de destino. Se sua conta ainda estiver na sandbox, o endereço do destinatário também precisa ser verificado. Por fim, a última linha da mensagem precisa conter um ponto final (.) sem nenhum outro conteúdo.

   ```
   sendmail -f {{sender@example.com}} {{recipient@example.com}}
   From: {{Sender Name}} <{{sender@example.com}}>
   Subject: Amazon SES Test                
   This message was sent using Amazon SES.                
   .
   ```

1. Marque a caixa de correio associada ao endereço de destinatário. Se o e-mail não chegar, verifique sua pasta de spam. Se você ainda não conseguir localizar o e-mail, verifique o log de e-mails no sistema que usou para enviar o e-mail (normalmente localizado em `/var/log/maillog`) para obter mais informações.

## Exemplo de uso avançado
<a name="send-email-postfix-advanced"></a>

Este exemplo mostra como enviar um e-mail que usa um [conjunto de configurações](using-configuration-sets.md) e que usa MIME-multipart codificação para enviar uma versão em texto simples e uma versão em HTML da mensagem, junto com um anexo. Isso também inclui uma [tag de link](faqs-metrics.md#sending-metric-faqs-clicks-q5), que pode ser usada para categorizar eventos de clique. O conteúdo do e-mail é especificado em um arquivo externo, de modo que você não precise digitar manualmente os comandos na sessão do Postfix.

**Para enviar um e-mail MIME multipartes usando o Postfix**

1. Em um editor de texto, crie um novo arquivo chamado `mime-email.txt`.

1. No arquivo de texto, cole o conteúdo a seguir, substituindo os valores em vermelho pelos valores apropriados para a sua conta:

   ```
   X-SES-CONFIGURATION-SET: {{ConfigSet}}
   From:{{Sender Name}} <{{sender@example.com}}>
   Subject:Amazon SES Test
   MIME-Version: 1.0
   Content-Type: multipart/mixed; boundary="YWVhZDFlY2QzMGQ2N2U0YTZmODU"
   
   --YWVhZDFlY2QzMGQ2N2U0YTZmODU
   Content-Type: multipart/alternative; boundary="3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ"
   
   --3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ
   Content-Type: text/plain; charset=UTF-8
   Content-Transfer-Encoding: quoted-printable
   
   Amazon SES Test
   
   This message was sent from Amazon SES using the SMTP interface.
   
   For more information, see:
   http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html
   
   --3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ
   Content-Type: text/html; charset=UTF-8
   Content-Transfer-Encoding: quoted-printable
   
   <html>
     <head>
   </head>
     <body>
       <h1>Amazon SES Test</h1>
         <p>This message was sent from Amazon SES using the SMTP interface.</p>
         <p>For more information, see
         <a ses:tags="samplekey0:samplevalue0;samplekey1:samplevalue1;" 
         href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html">
         Using the Amazon SES SMTP Interface to Send Email</a> in the <em>Amazon SES
         Developer Guide</em>.</p>
     </body>
   </html>
   --3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ--
   --YWVhZDFlY2QzMGQ2N2U0YTZmODU
   Content-Type: application/octet-stream
   MIME-Version: 1.0
   Content-Transfer-Encoding: base64
   Content-Disposition: attachment; filename="customers.txt"
   
   SUQsRmlyc3ROYW1lLExhc3ROYW1lLENvdW50cnkKMzQ4LEpvaG4sU3RpbGVzLENh
   bmFkYQo5MjM4OSxKaWUsTGl1LENoaW5hCjczNCxTaGlybGV5LFJvZHJpZ3VleixV
   bml0ZWQgU3RhdGVzCjI4OTMsQW5heWEsSXllbmdhcixJbmRpYQ==
   --YWVhZDFlY2QzMGQ2N2U0YTZmODU--
   ```

   Salve e feche o arquivo.

1. Na linha de comando, digite o seguinte comando. {{sender@example.com}}Substitua pelo seu endereço de e-mail e {{recipient@example.com}} substitua pelo endereço de e-mail do destinatário.

   ```
   sendmail -f {{sender@example.com}} {{recipient@example.com}} < mime-email.txt
   ```

   Se o comando for executado com êxito, ele será encerrado sem fornecer nenhuma saída.

1. Verifique o e-mail na sua caixa de entrada. Se a mensagem não tiver sido entregue, verifique o log de mensagens do seu sistema.