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
Postfix é uma alternativa ao Message Transfer Agent (MTA) do Sendmail. Para obter informações sobre o 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 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-plainpacote. Se você usa um Ubuntu-based sistema ou Debian, você deve instalar olibsasl2-modulespacote. -
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 (sair da sandbox do Amazon SES).
Configuração do Postfix
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
-
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.rproxy.govskope.ussubstitua o comando anterior pelo endpoint SMTP da região apropriada. Para obter mais informações, consulte Regiões e o 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:SMTPPASSWORDnota
Substitua
SMTPUSERNAMEeSMTPPASSWORDpor 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.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.rproxy.govskope.usno exemplo anterior pelo endpoint SMTP da região apropriada. Para obter mais informações, consulte Regiões e o Amazon SES.Salve e feche
sasl_passwd. -
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 -
(Opcional) Os arquivos
/etc/postfix/sasl_passwde/etc/postfix/sasl_passwd.dbque 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:-
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 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/nullDepois 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.
sender@example.comSubstitua 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.comSubstitua 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 -fsender@example.comrecipient@example.comFrom: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 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, 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
-
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:ConfigSetFrom: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.
sender@example.comSubstitua pelo seu endereço de e-mail erecipient@example.comsubstitua pelo endereço de e-mail do destinatário.sendmail -fsender@example.comrecipient@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.