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á.
Integrando a Amazon SES com o Sendmail
O Sendmail foi lançado no início dos anos 1980 e vem ganhando continuamente melhorias. É um agente de transferência de mensagens flexível e configurável (MTA) 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
O procedimento nesta seção mostra como configurar o Sendmail para enviar e-mails pela Amazon. SES Esse procedimento foi testado em um servidor executando o Ubuntu 18.04.2LTS.
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
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
ecyrus-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.
Se sua conta estiver na SES sandbox da Amazon, você também deverá verificar os endereços para os quais você envia e-mails. Para obter mais informações, consulte Solicitar acesso à produção (saindo do SES sandbox da Amazon).
Se você estiver usando SES a Amazon para enviar e-mails de uma EC2 instância da Amazon, você também deve concluir as seguintes etapas:
-
Talvez seja necessário atribuir um endereço IP elástico à sua EC2 instância da Amazon para que os provedores de e-mail de recebimento aceitem seu e-mail. Para obter mais informações, consulte os endereços IP EC2 elásticos da Amazon no Guia EC2 do usuário da Amazon.
-
O Amazon Elastic Compute Cloud (AmazonEC2) restringe o tráfego de e-mail pela porta 25 por padrão. Para evitar tempos limite ao enviar e-mails pelo SMTP endpoint da AmazonEC2, 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 EC2 instância ou AWS Lambda função da Amazon
? 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
Conclua as etapas desta seção para configurar o Sendmail para enviar e-mails usando a Amazon. SES
Importante
O procedimento nesta seção pressupõe que você queira usar a 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 nesse procedimento pelo SMTP endpoint da região desejada. Para obter uma lista de SMTP endpoints URLs em Regiões da AWS que a Amazon SES está disponível, consulte Amazon Simple Email Service (AmazonSES) no Referência geral da AWS.
Para configurar o Sendmail
-
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:
-
Substituir
email-smtp.us-west-2.amazonaws.com
com o SES SMTP endpoint da Amazon que você deseja usar. -
Substituir
smtpUsername
com seu nome de SES SMTP usuário da Amazon. -
Substituir
smtpPassword
com sua SES SMTP senha da Amazon.
nota
Suas credenciais SMTP de login são diferentes da ID da chave de AWS acesso e da chave de acesso secreta. Para obter mais informações sobre como obter suas credenciais SMTP de login, consulte. Obtendo SES SMTP credenciais da Amazon
Quando terminar, salve
authinfo
. -
-
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'
-
Na linha de comando, digite o comando a seguir para adicionar suporte à retransmissão para o SES SMTP endpoint da Amazon.
sudo sh -c 'echo "Connect:
email-smtp.us-west-2.amazonaws.com
RELAY" >> /etc/mail/access'No comando anterior, substitua
email-smtp.us-west-2.amazonaws.com
com o endereço do SES SMTP endpoint da Amazon que você deseja usar. -
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'
-
Na linha de comando, digite o comando a seguir para criar backups dos arquivos
sendmail.cf
esendmail.mc
:sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
-
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)dnlNo texto anterior, faça o seguinte:
-
Substituir
email-smtp.us-west-2.amazonaws.com
com o SES SMTP endpoint da Amazon que você deseja usar. -
Substituir
example.com
com o domínio que você deseja usar para enviar e-mails.
Ao concluir, salve o arquivo.
nota
A Amazon EC2 restringe as comunicações pela porta 25 por padrão. Se você estiver usando o Sendmail em uma EC2 instância da Amazon, deverá preencher a Solicitação para remover limitações de envio de e-mail
. -
-
Na linha de comando, digite o comando a seguir para tornar sendmail.cf gravável:
sudo chmod 666 /etc/mail/sendmail.cf
-
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
esendmail-cf
estão instalados em seu sistema. -
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
-
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
-
Conclua as etapas a seguir para enviar um e-mail de teste:
-
Na linha de comando, insira o seguinte comando:
/usr/sbin/sendmail -vf
sender@example.com
recipient@example.com
Substituir
sender@example.com
com seu endereço de e-mail do remetente. Substituirrecipient@example.com
com o endereço Para. Quando terminar, pressione Enter. -
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+D para enviá-lo.
-
-
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.