Product

API 2.0 do Mailgun: esqueça o MIME!

Você não precisa mais lidar com o formato de mensagem de e-mail MIME para enviar mensagens avançadas com corpo em HTML, anexos e muito mais no Mailgun. Leia mais...
Imagem para API 2.0 do Mailgun: esqueça o MIME!

Este artigo foi publicado originalmente em 18 de outubro de 2011

Boas notícias a todos!

A equipe do Mailgun esteve no laboratório, de mãos nos teclados, trabalhando duro na programação — e agora o Mailgun 2.0 chegou. Hoje estamos iniciando uma pequena série de artigos no blog para contar a você sobre todos os recursos incríveis que criamos. Se você não aguenta esperar, sempre pode ler a nossa documentação sobre todas as novidades do novo lançamento.

Queremos começar dizendo: “CHEGA DE MIME!”

Isso mesmo, você não precisa mais lidar com o formato de mensagem de e-mail MIME para enviar mensagens avançadas com corpo em HTML, anexos e assim por diante.

A dura realidade é que nem todas as linguagens de programação têm a sorte de contar com bibliotecas MIME fáceis de usar, bem documentadas e livres de bugs. Por outro lado, quase todo mundo sabe como fazer uma solicitação HTTP POST hoje em dia, o que é irônico porque os formatos de dados subjacentes são os mesmos.

Outra tendência que notamos é que muitos profissionais de programação não são especialistas em e-mail… e por que deveriam ser? Por exemplo, já nos perguntaram várias vezes como implementar a funcionalidade “Cco” ou como anexar um arquivo a uma mensagem.

Com o objetivo de sermos a melhor plataforma de e-mail do mercado, decidimos analisar mais a fundo como as mensagens de e-mail estão sendo criadas e enviadas. Não vamos mais pedir à nossa equipe de desenvolvimento para ler artigos da Wikipedia sobre e-mails em várias partes e lutar contra bibliotecas MIME de qualidade questionável.

A nova Send API do Mailgun é simples. Envie os parâmetros para nós via HTTP, nós criamos o MIME e enviamos a sua mensagem. Quais parâmetros? Aqueles que você já espera: “De”, “Para”, “Cc”, “Cco”, “Assunto”, “Corpo em HTML” e “Arquivo em anexo”. Deu para entender — as mesmas coisas que a interface do Gmail oferece.

Isso significa que você pode enviar e-mails complexos usando o bom e velho curl… ou até mesmo JavaScript direto do navegador! Claro, quem é da velha guarda ainda pode usar o próprio MIME com SMTP ou enviar MIME via HTTP: somos totalmente compatíveis com as versões anteriores.

Chega de papo, vamos dar uma olhada no código. A maioria das linguagens de programação tem suporte integrado para fazer solicitações HTTP, mas, para uma experiência mais avançada e satisfatória, recomendamos a biblioteca restclient para Ruby ou requests para Python.

Para começar, vamos enviar uma mensagem de texto simples:

                                

                                    curl --user api:key https://api.mailgun.net/v2/farfaraway.uk/messages -F from='Shrek ' -F to='Fiona ' -F subject='Status update' -F text='The cat is off the hook'
                                
                            

Que tal uma mensagem em várias partes com texto e HTML, com vários destinatários e alguns anexos, e que também tenha um destinatário em Cco? Fácil:

                                

                                    curl --user api:key https://api.mailgun.net/v2/farfaraway.uk/messages -F from='Shrek ' -F to='Fiona ' -F bcc='Donkey ' -F subject='Status update' -F text='The cat is off the hook' -F html='The cat is off the hook!' -F attachment=@kitchen-photo.jpg
                                
                            

Quem deseja definir cabeçalhos MIME personalizados ainda pode fazer isso sem nunca tocar no MIME. Se um parâmetro POST começar com o prefixo “h:”, o Mailgun o reconhecerá como um cabeçalho MIME personalizado. Aqui está um exemplo de envio de uma mensagem com um cabeçalho Message-Id personalizado:

                                

                                    curl --user api:key https://api.mailgun.net/v2/farfaraway.uk/messages -F from='Shrek ' -F to='Fiona ' -F subject='Status update' -F text='The cat is off the hook' -F h:Message-Id='mycustomid-1231@farfaraway.uk'
                                
                            

E aí está: uma maneira limpa e simples de evitar a bagunça do MIME. Você pode ver mais truques da API no link da documentação abaixo. Alguns outros truques legais que você pode incluir são enviar em modo de teste ou agendamento para um horário de entrega específico.

Dê uma olhada: https://documentation.mailgun.com/en/latest/user_manual.html#sending-via-api

Um abraço! — Equipe do Mailgun