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 Postfix
O Postfix é uma alternativa ao amplamente usado Sendmail Message Transfer Agent (). MTA Para obter informações sobre Postfix, acesse http://www.postfix.org
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
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 SASL de autenticação. O procedimento para concluir esta etapa pode variar dependendo de seu sistema operacional. Por exemplo, se você usa um sistema RedHat baseado, você deve instalar o
cyrus-sasl-plain
pacote. Se usar um sistema Debian ou Ubuntu, deverá instalar o pacotelibsasl2-modules
. -
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.
-
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 (saindo do SES sandbox da Amazon).
Configuração do Postfix
Conclua os procedimentos a seguir para configurar seu servidor de e-mail para enviar e-mails pela Amazon SES usando o Postfix.
Para configurar o Postfix
-
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 a Amazon SES em uma AWS região diferente do Oeste dos EUA (Oregon), substitua
email-smtp.us-west-2.amazonaws.com
no comando anterior com o SMTP ponto final da região apropriada. Para obter mais informações, consulte Regiões e Amazon SES. -
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.
-
Em um editor de texto, abra o arquivo
/etc/postfix/sasl_passwd
. Se o arquivo ainda não existir, crie-o. -
Adicione a seguinte linha a
/etc/postfix/sasl_passwd
:[
email-smtp.us-west-2.amazonaws.com
]:587SMTPUSERNAME
:SMTPPASSWORD
nota
Substituir
SMTPUSERNAME
eSMTPPASSWORD
com suas SMTP credenciais de login. Suas credenciais SMTP de login não são as mesmas do ID da chave de acesso e da chave de AWS acesso secreta. Para obter mais informações sobre credenciais, consulte Obtendo SES SMTP credenciais da Amazon.Se você usa a Amazon SES em uma AWS região diferente do Oeste dos EUA (Oregon), substitua
email-smtp.us-west-2.amazonaws.com
no exemplo anterior com o SMTP ponto final da região apropriada. Para obter mais informações, consulte Regiões e Amazon SES.Salve e feche
sasl_passwd
. -
Em um prompt de comando, digite o seguinte comando para criar um arquivo de banco de dados hashmap contendo suas SMTP credenciais:
sudo postmap hash:/etc/postfix/sasl_passwd
-
(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 SMTP credenciais, 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:-
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
-
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
-
-
Diga ao Postfix onde encontrar o certificado CA (necessário para verificar o certificado do SES servidor Amazon). 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 > /etc/ssl/certs/ca-bundle.crt
Depois que você gerar o certificado, digite o comando a seguir:
sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
-
-
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
-
Envie um e-mail de teste digitando o seguinte em uma linha de comando, pressionando Enter após cada linha. Substituir
sender@example.com
com seu endereço de e-mail do remetente. O endereço do remetente deve ser verificado para uso com a AmazonSES. Substituirrecipient@example.com
com o 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. . -
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
Este exemplo mostra como enviar um e-mail que usa um conjunto de configurações e usa a codificação MIME -multipart para enviar um texto sem formatação e uma HTML versão da mensagem, junto com um anexo. Isso também inclui uma tag de link, 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 MIME e-mail com várias partes usando o Postfix
-
Em um editor de texto, crie um novo arquivo chamado
mime-email.txt
. -
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.
-
Na linha de comando, digite o seguinte comando. Substituir
sender@example.com
com seu endereço de e-mail e substituarecipient@example.com
com o endereço de e-mail do destinatário.sendmail -f
sender@example.com
recipient@example.com
< mime-email.txtSe o comando for executado com êxito, ele será encerrado sem fornecer nenhuma saída.
-
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.