Configurei uma instância do EC2 no Amazon AWS e instalei uma pilha LAMP seguindo o tutorial aqui:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html
Atribuí um arquivo elástico (ou seja, static ) endereço IP para minha instância e apontou um nome de domínio que possuo para ela (por meio de registros DNS manipulados pelo meu registrador de domínio, que não é AWS). Quando navego para meu domínio, posso ver meu arquivo index.html - tudo está funcionando bem até agora.
Quero configurar alguns endereços de e-mail que apenas encaminhem automaticamente para contas existentes do Gmail. Imagine que meu domínio é mydomain.com
- o que eu quero é configurar [email protected]
e sempre que alguém enviar e-mail para este endereço, quero que ele seja encaminhado automaticamente para (por exemplo) [email protected]
.
Qual é a maneira mais simples de configurar isso? Gostaria de saber se a AWS tem um tutorial que eu possa percorrer.
A maneira mais simples é não envolver seu servidor no correio. É um serviço de baixo valor que tem complexidades em torno de spam e entrega, com tecnologias como SPF, DKIM e outras relevantes.
Sugiro que você use um provedor de e-mail hospedado - existem muitos, incluindo Google for Business, Office 365, Fastmail, etc. Aponte seus registros MX de DNS para esse provedor, configure-o e use IMAP/webmail para verificar o e-mail. Essas plataformas também permitem que você configure o encaminhamento de e-mail, se desejar.
Atualização : pesquisei no Google "encaminhamento de e-mail gratuito" e encontrei ImprovMX e ForwardMX (não gratuito). Eu não sei nada sobre eles, mas eles fariam o que você quiser - configure seus registros MX e eles serão encaminhados para seu e-mail. Cuidado que ambos seriam capazes de ler seu e-mail. ImprovMX não tem política de privacidade. A ForwardMX tem uma política de privacidade e cobra uma taxa relativamente pequena pelo encaminhamento.
Solução gratuita : Se você deseja configurar o encaminhamento de e-mail do seu servidor, o que custaria apenas a largura de banda, você pode usar esta resposta em Server Fault . Parece bem fácil.
Graças a outra pergunta que o @Tim vinculou , fui apontado na direção certa e resolvi esse problema.
Essa outra pergunta descreve o mesmo problema que eu estava tendo. A resposta principal lá (a partir de agora de qualquer maneira) sugere fazer coisas usando o Postfix. Outra resposta sugere o uso do Sendmail. Decidi tentar a sugestão do Sendmail, pois parecia bastante simples e o Sendmail foi instalado por padrão na minha instância do EC2 e o Postfix não. As coisas não eram tão simples quanto essa resposta parece sugerir, mas consegui fazer o seguinte:
@mydomain.com
endereço. Nos registros DNS do meu domínio, tenho umMX
registro que aponta paramydomain.com.
e, em seguida, tenho umA
registro que aponta para o endereço IP elástico (ou seja, estático) da minha instância do EC2. Isso está dizendo aos servidores de e-mail para direcionar o e-mail deste domínio para o endereço IP indicado peloA
registro paramydomain.com
, ou seja, para minha instância do EC2.Agora o Sendmail precisa ser configurado para ouvir e-mails recebidos e encaminhá-los conforme desejado. Encontrei um tutorial sobre como conseguir isso aqui . Os passos são:
O sistema precisa saber para qual(is) domínio(s) ele está atuando como servidor de e-mail - caso contrário, o Sendmail não encaminhará esses e-mails. Edite
/etc/mail/local-host-names
e adicione o(s) respectivo(s) nome(s) de domínio:Edite
/etc/mail/access
para dizer ao Sendmail para retransmitir e-mails para seu(s) domínio(s). Este arquivo é para segurança. Adicionar:Por padrão, o Sendmail não está escutando externamente os e-mails recebidos. Há uma linha dizendo ao Sendmail para ouvir apenas no
/etc/mail/sendmail.mc
endereço de loopback IPv4 127.0.0.1 e não em nenhum outro dispositivo de rede. Remova a restrição de endereço de loopback para aceitar e-mails da Internet.Mudar
para
Agora precisamos configurar os "usuários virtuais", ou seja, os endereços de e-mail a serem encaminhados automaticamente. A linha a seguir deve estar em
sendmail.mc
; se não estiver lá, adicione:Isso diz ao Sendmail para procurar no arquivo (versão compilada do) os
virtusertable
endereços a serem encaminhados automaticamente e para onde eles devem ser encaminhados. Novirtusertable
arquivo, adicione o seguinte:Acredito que você também precise de uma linha adicional em
sendmail.mc
, para informar ao Sendmail a qual(is) domínio(s)virtusertable
se aplica. Então, adicione também esta linha:E em
virtual-domains
, adicione o seguinte:O Sendmail não lê todos esses arquivos de configuração diretamente - eles precisam ser compilados. Execute
make
no/etc/mail
diretório. Você precisa ter osendmail-cf
pacote instalado para que isso funcione.Reinicie o Sendmail:
sudo service sendmail restart
Neste ponto eu pensei que tudo deveria funcionar... mas não funcionou. Ignorei por alguns dias, considerando que poderia tentar novamente usando o Postfix, antes de me lembrar de algo... AWS aplica regras de segurança para bloquear/permitir determinado tráfego de rede. Os servidores de e-mail escutam novos e-mails via SMTP, mas eu não tinha definido uma regra para permitir o tráfego de entrada na porta 25. Portanto, no Console de gerenciamento da AWS, certifique-se de abrir a porta TCP 25 de entrada no grupo de segurança aplicado à instância do EC2 . Depois que fiz isso, tudo começou a funcionar como desejado imediatamente. O e-mail enviado para
[email protected]
agora estava sendo entregue (via Sendmail na minha instância do EC2) para[email protected]
.