

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 Sendmail
<a name="send-email-sendmail"></a>

O Sendmail foi lançado no início dos anos 1980 e vem ganhando continuamente melhorias. Ele é um agente de transferência de mensagens (MTA) flexível e configurável com uma grande comunidade de usuários. O Sendmail foi adquirido pela Proofpoint em 2013, mas a Proofpoint continua oferecendo uma versão de código aberto do Sendmail. Você pode fazer download da [versão de código aberto do Sendmail](https://www.proofpoint.com/us/open-source-email-solution) no site da Proofpoint ou por meio dos gerenciadores de pacote da maioria das distribuições do Linux.

As instruções nesta seção mostram como configurar o Sendmail para enviar e-mails por meio do Amazon SES. Este procedimento foi testado em um servidor que executa o Ubuntu 18.04.2 LTS.

**nota**  
O Sendmail é 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-sendmail-prerequisites"></a>

Antes de concluir o procedimento desta seção, você deverá concluir as seguintes etapas:
+ Instalar o pacote do Sendmail no servidor. 
**nota**  
Dependendo da distribuição do sistema operacional que você usa, talvez também seja necessário instalar os seguintes pacotes: `sendmail-cf`, `m4` e `cyrus-sasl-plain`.
+ Verificar uma identidade para usar como seu endereço de remetente. 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 sua conta for na sandbox do Amazon SES, você também deve verificar os endereços aos quais envia e-mails. Para obter mais informações, consulte [Solicitar acesso à produção (sair da sandbox do Amazon SES)](request-production-access.md).

Se estiver usando o Amazon SES para enviar e-mails de uma instância do Amazon EC2, você também deve realizar as seguintes etapas:
+ Você pode precisar atribuir um endereço de IP elástico à sua instância do Amazon EC2 para os provedores de e-mail receptores aceitarem seu e-mail. Para obter mais informações, consulte [Endereços IP elásticos do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) no *Guia do usuário do Amazon EC2*.
+ Por padrão, o Amazon Elastic Compute Cloud (Amazon EC2) restringe o tráfego de e-mail pela porta 25. Para evitar erros de tempo limite ao enviar e-mails pelo endpoint SMTP do Amazon EC2, você pode solicitar que essas restrições sejam removidas. Para obter mais informações, consulte [Como faço para remover a restrição na porta 25 da minha instância AWS Lambda ou função do Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/)? no Centro de AWS Conhecimento.

  Como alternativa, você pode modificar o procedimento nesta seção para usar a porta 587 em vez da porta 25.

## Configurar o Sendmail
<a name="send-email-sendmail-procedure"></a>

Conclua as etapas nesta seção para configurar o Sendmail para enviar e-mail usando o Amazon SES.

**Importante**  
O procedimento nesta seção pressupõe que você queira usar o Amazon SES no Oeste dos EUA (Oregon). Região da AWS Se você quiser usar uma região diferente, substitua todas as instâncias de *email-smtp.us-west-2.amazonaws.com* neste procedimento pelo endpoint SMTP da região desejada. Para obter uma lista de endpoints URLs SMTP em Regiões da AWS que o Amazon SES está disponível, consulte [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) no. *Referência geral da AWS*

**Para configurar o Sendmail**

1. Em um editor de arquivo, abra o arquivo `/etc/mail/authinfo`. Se o arquivo não existir, crie-o.

   Adicione a seguinte linha a*/etc/mail/authinfo*:

   ```
   AuthInfo:email-smtp.us-west-2.amazonaws.com "U:root" "I:smtpUsername" "P:smtpPassword" "M:PLAIN"
   ```

   No exemplo anterior, faça as seguintes alterações:
   + *email-smtp.us-west-2.amazonaws.com*Substitua pelo endpoint SMTP do Amazon SES que você deseja usar.
   + *smtpUsername*Substitua pelo seu nome de usuário SMTP do Amazon SES.
   + *smtpPassword*Substitua pela sua senha SMTP do Amazon SES.
**nota**  
Suas credenciais de login SMTP são diferentes da ID da chave de acesso e da chave de AWS acesso secreta. Para obter mais informações sobre como obter as credenciais de login SMTP, consulte [Obtenção de credenciais SMTP do Amazon SES](smtp-credentials.md).

   Quando terminar, salve `authinfo`.

1. Na linha de comando, digite o comando a seguir para gerar o arquivo `/etc/mail/authinfo.db`:

   ```
   sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'
   ```

1. Na linha de comando, digite o comando a seguir para adicionar o suporte à retransmissão para o endpoint SMTP do Amazon SES.

   ```
   sudo sh -c 'echo "Connect:email-smtp.us-west-2.amazonaws.com RELAY" >> /etc/mail/access'
   ```

   No comando anterior, *email-smtp.us-west-2.amazonaws.com* substitua pelo endereço do endpoint SMTP do Amazon SES que você deseja usar.

1. Na linha de comando, digite o seguinte comando para regenerar*/etc/mail/access.db*:

   ```
   sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
   ```

1. Na linha de comando, digite o comando a seguir para criar backups dos arquivos `sendmail.cf` e `sendmail.mc`:

   ```
   sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
   ```

1. Adicione as linhas a seguir ao arquivo*/etc/mail/sendmail.mc* antes de qualquer `MAILER()` definição.

   ```
   define(`SMART_HOST', `email-smtp.us-west-2.amazonaws.com')dnl
   define(`RELAY_MAILER_ARGS', `TCP $h 25')dnl
   define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
   FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl
   MASQUERADE_AS(`example.com')dnl
   FEATURE(masquerade_envelope)dnl
   FEATURE(masquerade_entire_domain)dnl
   ```

   No texto anterior, faça o seguinte:
   + *email-smtp.us-west-2.amazonaws.com*Substitua pelo endpoint SMTP do Amazon SES que você deseja usar.
   + *example.com*Substitua pelo domínio que você deseja usar para enviar e-mails.

   Ao concluir, salve o arquivo.
**nota**  
O Amazon EC2 restringe as comunicações pela porta 25 por padrão. Se estiver usando o Sendmail em uma instância do instância do Amazon EC2, preencha a [Solicitação para remover limitações de envio de e-mail](https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request).

1. Na linha de comando, digite o comando a seguir para tornar *sendmail.cf* gravável:

   ```
   sudo chmod 666 /etc/mail/sendmail.cf
   ```

1. Na linha de comando, digite o comando a seguir para gerar novamente *sendmail.cf*:

   ```
   sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
   ```
**nota**  
Se você encontrar erros como "Comando não encontrado" e "Este arquivo ou diretório não existe", verifique se os pacotes `m4` e `sendmail-cf` estão instalados em seu sistema.

1. Na linha de comando, digite o comando a seguir para redefinir as permissões de *sendmail.cf* como somente leitura:

   ```
   sudo chmod 644 /etc/mail/sendmail.cf
   ```

1. Na linha de comando, digite o comando a seguir para reiniciar o Sendmail:

   ```
   sudo /etc/init.d/sendmail restart
   ```

   *Dependendo da versão do Linux ou do Sendmail, se o indicado acima não funcionar, tente fazer o seguinte:*

   ```
   sudo su service sendmail restart
   ```

1. Conclua as etapas a seguir para enviar um e-mail de teste:

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

      ```
      /usr/sbin/sendmail -vf sender@example.com recipient@example.com
      ```

      *sender@example.com*Substitua pelo seu endereço de e-mail do remetente. *recipient@example.com*Substitua pelo endereço Para. Quando terminar, pressione Enter.

   1. Insira o conteúdo de mensagem a seguir. Pressione Enter ao final de cada linha.

      ```
      From: sender@example.com
      To: recipient@example.com
      Subject: Amazon SES test email
      
      This is a test message sent from Amazon SES using Sendmail.
      ```

      Quando terminar de inserir o conteúdo do e-mail, pressione Ctrl\$1D para enviá-lo.

1. Verifique o cliente de e-mail do destinatário para o e-mail. Se você não encontrar o e-mail, verifique a pasta de spam. Se você ainda não conseguir localizar o e-mail, verifique o log do Sendmail no servidor de e-mail. O log geralmente está localizado em*/var/log/mail.log* ou*/var/log/maillog*. 