Enviando emails da aplicação com o Mailgun

Sabemos que para enviar emails com boas chances de entrega, é preciso seguir uma série de boas práticas como DNS Reverso, usar IP com boa reputação, SPF e segue a lista. 

A Getup usa infraestrutura AWS, isso quer dizer que sua aplicação se comunica com o mundo através de algum IP da Amazon, que você não controla e por isso não recomendamos o envio de emails através deles.
Tendo isso em mente, nossa sugestão é de se utilizar ferramentas pensadas para este fim, que ofereçam boas chances de entrega da mensagem, sejam simples de implementar e que, de preferência, possuam um free tier ;)

Neste artigo mostrarei como utilizar o Mailgun, porém existem outras como Sendgrid, Amazon SES.

O que é o Mailgun?

Mailgun é "uma coleção de poderosas API's" que permitem enviar, receber, rastrear e armazenar emails sem muito esforço. Por exemplo, para enviar emails você precisa de um servidor SMTP. Além do SMTP você precisará de um POP3 ou IMAP para acessar os emails enviados por outros servidores via SMTP. Coloque na equação DNS reverso e reputação do IP. É muita coisa para configurar, certo?

O Mailgun gerencia isso para você e oferece uma api para enviar e receber emails através de uma simples requisição HTTP. Sem servidores, sem configurações, apenas nosso amado protocolo HTTP para enviar emails, Legal!

Você pode utilizar o plano grátis do Mailgun, basta fazer o cadastro aqui, o plano free permite envio de até 10000 mensagens, o bastante para começar.

Enviando e-mail

Como já foi dito , enviar emails pelo mailgun é simples como fazer uma requisição HTTP.

Para iniciar você precisa da biblioteca do Mailgun, neste artigo utilizamos o Composer para resolver as dependências. Veja aqui como instalar o Composer.

Inclua a biblioteca do Mailgun nas dependência de sua aplicação, no arquivo composer.json:

{
"require": {
 "mailgun/mailgun-php": "~1.1"
 }
}

Edite o arquivo index.php e inclua o código a seguir:

require '../vendor/autoload.php';
use Mailgun\Mailgun;

# Primeiro, instancie o SDK com sua credencial de API e o domínio. 
$mg = new Mailgun("");
$domain = "";

# Agora, componha e envie sua mensagem.
$result = $mg->sendMessage(
  $domain,
  array(
    'from' => 'fulano@getupcloud.com',   # remetente
    'to' => 'ciclano@getupcloud.com',    # destinatário
    'subject' => 'Email Getup Cloud',    # assunto
    'text' => 'É muito fácil!')          # corpo da mensagem
);

# Busca as ultimas 25 mensagens.
$result = $mg->get("$domain/log", array('limit' => 25, 'skip' => 0));
$httpResponseCode = $result->http_response_code;
$httpResponseBody = $result->http_response_body;
$logItems = $result->http_response_body->items;

# Mostra a lista de mensagens buscada.
foreach($logItems as $logItem) {
  echo $logItem->message_id . "< /br>";
}

O código acima simplesmente envia um email e exibe o histórico das últimas 25 mensagens enviadas.

Abra o navegador e acesse sua apliação. Ah! tem email na caixa!

 

Tem mais dúvidas? Envie uma solicitação

0 Comentários

Por favor, entre para comentar.
Powered by Zendesk