Mailjet é um serviço de e-mail global terceirizado que oferece aos usuários do Compute Engine um nível gratuito com 6.000 e-mails por mês. Além disso, Mailjet também oferece:
- Uma API, interface de usuário e retransmissão SMTP para enviar emails transacionais e de marketing.
- Conformidade europeia com a privacidade de dados.
- Recursos de e-mail e capacidade de entrega, como configurações de prioridade personalizáveis e gerenciamento automatizado de aceleração.
- Biblioteca de recursos de API em Go, PHP, Nodejs, Java, Python e Ruby para gerenciar subcontas, autenticação, contatos, campanhas, cargas personalizadas, estatísticas, eventos em tempo real e análise por meio da API de eventos .
- Estrutura MJML integrada para criar modelos de e-mail HTML responsivos.
- Suporte follow-the-sun 24 horas por dia, 7 dias por semana, em mais de 4 idiomas.
- Capacidade de enviar mensagens de email de domínios diferentes de
gmail.com
.
Este documento descreve como configurar sua instância de VM para enviar e-mails por meio do Mailjet usando os seguintes métodos:
- Através de um relé SMTP com:
- Pós-fixo
- Nodemailer em Node.js
- Diretamente através da API Mailjet usando Java
Para documentação extensa de outras soluções de e-mail, incluindo exemplos de integração com servidores, bibliotecas e estruturas SMTP mais comuns, consulte a documentação do Mailjet .
Antes de começar
Crie uma nova conta Mailjet na página de parceiro Google do Mailjet *. Ao se inscrever, forneça o domínio e o endereço de e-mail dos quais deseja enviar mensagens de e-mail.
Certifique-se de que o endereço de e-mail do qual deseja enviar e-mails foi validado .
Configure uma regra de firewall para permitir o tráfego TCP na porta 2525.
*O Google é remunerado pelos clientes que se inscrevem em uma conta não gratuita.
Configurando Mailjet como uma retransmissão SMTP
Configurar o Mailjet como um retransmissor de e-mail permite encaminhar mensagens de e-mail para o Mailjet para entrega remota.
Usando Postfix
Conecte-se à sua VM usando SSH, substituindo
instance-name
pelo nome da instância da qual você deseja enviar mensagens de email:gcloud compute ssh instance-name
Na VM, instale o Postfix Mail Transport Agent. Quando solicitado, aceite as opções padrão para nomes de domínio, mas selecione a configuração
Local Only
.Debian
sudo apt update && sudo apt -y install postfix libsasl2-modules
CentOS
sudo yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
Modifique as opções de configuração do Postfix. As opções de configuração do Postfix são definidas no arquivo
main.cf
Abra o arquivo com o editor de texto de sua preferência:sudo vi /etc/postfix/main.cf
Atualize o arquivo:
Comente as seguintes linhas:
# default_transport = error # relay_transport = error
Adicione as seguintes linhas ao final do arquivo:
relayhost = in-v3.mailjet.com:2525 smtp_tls_security_level = encrypt smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous
Essas linhas impõem suporte SSL/TLS e configuram a autenticação SMTP para essas solicitações. Um módulo de camada simples de acesso e segurança (SASL) lida com a autenticação na configuração do Postfix.
Salve suas alterações e feche o arquivo.
Crie o mapa de senha SASL com o editor de texto de sua preferência:
sudo vi /etc/postfix/sasl_passwd
Ao arquivo
sasl_passwd
, adicione as seguintes linhas para fornecer as credenciais para Mailjet:in-v3.mailjet.com:2525 YOUR_API_KEY:YOUR_SECRET_KEY
Use o utilitário
postmap
para gerar um arquivo.db
:sudo postmap /etc/postfix/sasl_passwd sudo ls -l /etc/postfix/sasl_passwd*
Você deverá receber a seguinte resposta:
-rw------- 1 root root 68 Jun 1 10:50 /etc/postfix/sasl_passwd -rw------- 1 root root 12288 Jun 1 10:51 /etc/postfix/sasl_passwd.db
Em seguida, remova o arquivo que contém suas credenciais porque ele não é mais necessário:
sudo rm /etc/postfix/sasl_passwd
Defina as permissões no seu arquivo
.db
:sudo chmod 600 /etc/postfix/sasl_passwd.db sudo ls -la /etc/postfix/sasl_passwd.db
Por fim, recarregue sua configuração para carregar os parâmetros modificados:
Debian
sudo /etc/init.d/postfix restart
CentOS
sudo postfix reload
Teste sua configuração. Instale o pacote
mailx
oumailutils
e teste sua configuração.Debian
sudo apt -y install mailutils
CentOS
sudo yum install mailx -y
Envie uma mensagem de teste:
echo 'Test passed.' | mail -s 'Test-Email' -aFrom:from-email destination-email
Substitua o seguinte:
-
from-email
: um endereço de e-mail que foi validado . -
destination-email
: o endereço para o qual enviar a mensagem de email.
Procure nos logs do seu sistema uma linha de status contendo
status
e o código de resposta do servidor bem-sucedido(250)
:Debian
sudo tail -n 5 /var/log/syslog
CentOS
sudo tail -n 5 /var/log/maillog
-
Se você tiver problemas ao configurar o Postfix com Mailjet, consulte as instruções de configuração do Mailjet Postfix .
Usando o Nodemailer
As instruções a seguir descrevem como usar Mailjet com Node.js no Debian Wheezy.
- Conecte-se à sua instância usando SSH:
gcloud compute ssh instance-name
- Atualize seus repositórios de pacotes:
user@test-wheezy:~# sudo apt update
- Instale as dependências do Node.js:
user@test-wheezy:~# sudo apt -y install git-core curl build-essential openssl libssl-dev
- Clone o repositório Node.js do github:
user@test-wheezy:~# git clone https://github.com/nodejs/node
- Mude o diretório para a árvore de origem do Node.js:
user@test-wheezy:~# cd node
- Configure o software do nó para este sistema operacional e máquina virtual:
user@test-wheezy:~# ./configure
- Crie Node.js, npm e objetos relacionados:
user@test-wheezy:~# sudo make
Isso pode levar alguns minutos para ser concluído.
- Instale Node.js, npm e outros softwares no local padrão:
user@test-wheezy:~# sudo make install
- Instale o pacote do mailer:
user@test-wheezy:~# npm install nodemailer nodemailer-smtp-transport
- No diretório
node
, crie um novo arquivo chamadosendmail.js
que contenha o seguinte JavaScript: - Execute o programa para enviar uma mensagem de e-mail através do Mailjet:
user@test-wheezy:~# node sendmail.js
- Conecte-se à sua instância usando SSH:
gcloud compute ssh instance-name
- Atualizar repositórios de pacotes:
user@test-centos:~# sudo yum update -y
- Instale as dependências do Node.js:
user@test-centos:~# sudo yum install git-core curl openssl openssl-dev -y ... user@test-centos:~# sudo yum groupinstall "Development Tools" -y ...
- Clone o repositório Node.js do github:
user@test-centos:~# git clone https://github.com/nodejs/node
- Mude o diretório para a árvore de origem do Node.js:
user@test-centos:~# cd node
- Configure o software do nó para este sistema operacional e máquina virtual:
user@test-centos:~# ./configure
- Crie Node.js, npm e objetos relacionados:
user@test-centos:~# sudo make
Isso pode levar alguns minutos para ser concluído.
- Instale Node.js, npm e outros softwares no local padrão:
user@test-centos:~# sudo make install
- Instale o pacote do mailer:
user@test-centos:~# npm install npm install nodemailer nodemailer-smtp-transport
- No diretório
node
, crie um novo arquivo chamadosendmail.js
que contenha o seguinte JavaScript: - Execute o programa para enviar uma mensagem de e-mail através do Mailjet:
user@test-centos:~# node sendmail.js
Envio de e-mail através da API Mailjet com Java
Para obter mais exemplos de uso da API Mailjet, consulte a documentação oficial do Mailjet .
- Conecte-se à sua instância usando SSH:
gcloud compute ssh instance-name
- Atualize seus repositórios de pacotes e instale os pacotes necessários:
user@test-instance:~# sudo apt update && sudo apt install git-core openjdk-8-jdk maven
- Clone o repositório Java do GitHub:
user@test-instance:~# git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
- Vá para o código-fonte principal do exemplo, localizado em:
/root/java-docs-samples/compute/mailjet/src/main/java/com/example/compute/mailjet
- Defina suas configurações do Mailjet. Consulte a documentação do Mailjet Authentication sobre como substituir as seguintes variáveis:
-
your-mailjet-api-key
: uma chave de API para sua conta Mailjet. -
your-mailjet-secret-key
: A chave secreta correspondente para sua conta Mailjet.
-
- No diretório
mailjet
, use o Maven para empacotar a classe como um arquivo JAR:user@test-instance:~# mvn clean package
- Certifique-se de estar usando o OpenJDK 8:
user@test-instance:~# sudo update-alternatives --config java
- Para enviar um e-mail: do diretório de destino, execute o arquivo JAR com os endereços de e-mail do destinatário e do remetente como argumentos:
user@test-instance:~# java -jar compute-mailjet-1.0-SNAPSHOT-jar-with-dependencies.jar recipient-email sender-email
- Conecte-se à sua instância usando SSH:
gcloud compute ssh instance-name
- Atualize seus repositórios de pacotes e instale os pacotes necessários:
user@test-centos:~# sudo yum update && sudo yum install git-core openjdk-8-jdk maven
- Clone o repositório Java do GitHub:
user@test-centos:~# git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
- Vá para o código-fonte principal do exemplo, localizado em:
/root/java-docs-samples/compute/mailjet/src/main/java/com/example/compute/mailjet
- Defina suas configurações do Mailjet. Para obter informações sobre como substituir as seguintes variáveis, consulte a documentação do Mailjet Authentication :
-
your-mailjet-api-key
: uma chave de API para sua conta Mailjet. -
your-mailjet-secret-key
: A chave secreta correspondente para sua conta Mailjet.
-
- No diretório
mailjet
, use o Maven para empacotar a classe como um arquivo JAR:user@test-centos:~# mvn clean package
- Certifique-se de estar usando o OpenJDK 8:
user@test-centos:~# sudo alternatives --config java
- Para enviar um e-mail, a partir do diretório de destino, execute o arquivo JAR com os endereços de e-mail do destinatário e do remetente como argumentos:
user@test-centos:~# java -jar compute-mailjet-1.0-SNAPSHOT-jar-with-dependencies.jar recipient-email sender-email
Configurações SMTP do Mailjet
Aqui está uma referência rápida às configurações SMTP específicas do Mailjet que são usadas para configurar clientes:
- Anfitrião: in-v3.mailjet.com
- Porto: 2525
O que vem a seguir
Explore arquiteturas de referência, diagramas e práticas recomendadas sobre o Google Cloud. Dê uma olhada em nosso Centro de Arquitetura de Nuvem .