Product

O SDK oficial de Go, já disponível

Excelente notícia: agora você pode enviar mensagens pelo Mailgun usando Go! O Mailgun-Go permite que você interaja com a nossa API sem precisar daquele monte de código repetitivo. Leia mais –
Imagem para O SDK oficial de Go, já disponível

Hoje, temos o prazer de anunciar a disponibilidade geral do nosso SDK Mailgun-Go. Agora você pode enviar mensagens pelo Mailgun usando Go! O Mailgun-Go permite que você interaja facilmente com a nossa API, reduzindo bastante a quantidade de código repetitivo que você precisa manter.

Nosso SDK foi criado a partir de uma base simples, gentilmente oferecida por Michael Banzon no Github. Somos muito gratos a ele por seu suporte. Adicionamos recursos ao SDK dele, incluindo uma cobertura de API significativamente aprimorada e um conjunto abrangente de testes de aceitação para ajudar a equipe de desenvolvimento a dar os primeiros passos e a entender melhor como usar o SDK.

O Mailgun-Go permite que você envie mensagens para listas de e-mails de qualquer tamanho, sujeitas apenas aos limites da sua conta do Mailgun. Aqui está um exemplo simples em que enviamos uma mensagem para três destinatários:

                                

                                    mg := mailgun.NewMailgun("example.com", "key-example", "")

m := mg.NewMessage(  
    "Dwight Schrute ",        // From
    "The Printer Caught Fire",                    // Subject
    "We have a problem.",                         // Plain-text body
    "Michael Scott ",        // Recipients (vararg list)
    "George Schrute ",
    "it-support@example.com",
)

_, _, err := mg.Send(m)

if err != nil {  
  log.Fatal(err)
}
                                
                            

e aqui está outro em que enviamos a mesma mensagem para potencialmente milhões de destinatários:

                                

                                    mg := mailgun.NewMailgun("example.com", "key-example", "")

m := mg.NewMessage(  
    "Dwight Schrute ",                // From
    "Help!",                                              // Subject
    "The printer's on fire on floor %recipient.floor%!!"  // Plain-text body
)

// Iterate over a collection of addresses and per-user variables.
for _, user := range mailingList {  
    err := m.AddRecipientAndVariables(user.address, map[string]interface{}{
        "floor": user.floor,
    })
    if err != nil {
      log.Fatal(err)
    }
}

_, _, err = mg.Send(m)

if err != nil {  
  log.Fatal(err)
}
                                
                            

Como você pode ver, o SDK Mailgun-Go oferece uma interface que escala muito bem de acordo com as suas necessidades.

Em breve, atualizaremos nossa documentação online para incluir exemplos em Go. Enquanto isso, fique à vontade para consultar nossa documentação no GoDoc, ler os testes de aceitação no nosso repositório do Github, ou abrir uma nova issue pelo Github ou pelo seu painel de controle. Teremos o maior prazer em responder a qualquer dúvida que você tiver!

Bons envios!