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á.
Postfix é uma alternativa ao Message Transfer Agent (MTA) do Sendmail. 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 de autenticação SASL. 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 (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
substitua 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
:SMTPPASSWORD
nota
Substitua
SMTPUSERNAME
eSMTPPASSWORD
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.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.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_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:-
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 > /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.
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. . -
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 a codificação MIME multipartes para enviar uma versão da mensagem tanto em texto simples quanto em HTML 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:
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.
sender@example.com
Substitua pelo seu endereço de e-mail erecipient@example.com
substitua pelo 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.