Product

A DigitalChalk usa o Mailgun para notificações de e-mail transacional

Se você já fez um curso online, usou um sistema de gestão de aprendizagem (LMS). A DigitalChalk é um sistema de gestão de aprendizagem multilocatário líder do setor, que atende a dois tipos de clientes: clientes corporativos, que oferecem treinamento para funcionários, e clientes de e-commerce, que vendem os próprios cursos online.
Imagem para A DigitalChalk usa o Mailgun para notificações de e-mail transacional

Esta publicação foi escrita com a contribuição de Jon Wilkinson, engenheiro de software da DigitalChalk.

Se você já fez um curso online, usou um sistema de gestão de aprendizagem (LMS). A DigitalChalk é um sistema de gestão de aprendizagem multilocatário líder do setor, que atende a dois tipos de clientes: clientes corporativos, que oferecem treinamento para funcionários, e clientes de e-commerce, que vendem os próprios cursos online.

Na DigitalChalk, um cliente típico pode criar eventos que geram notificações por e-mail, como e-mails de recibos, criação de usuário, inscrição no curso, conclusão do curso, alteração de senha, entre muitos outros. A DigitalChalk tem milhares de clientes que, por sua vez, têm centenas (ou milhares) de estudantes que recebem e-mails em resposta a esses vários eventos. Resumindo, a DigitalChalk envia muitos e-mails em nome dos clientes.

Integração com o Mailgun

Agora a DigitalChalk está integrada com o Mailgun para entregar e-mails de eventos de cursos por meio de uma conta do Mailgun. Assim, você terá todos os excelentes recursos que o Mailgun oferece. Listas de e-mails, campanhas de marketing, análises e validação de endereço de e-mail ajudam clientes de e-commerce na promoção e venda de cursos, enquanto roteamento de e-mails recebidos, integração com webhook, rastreamento de cliques e APIs rápidas ajudam a entregar e monitorar treinamentos corporativos. Além disso, agora você pode usar o endereço de e-mail do seu domínio para as notificações por e-mail da DigitalChalk em vez de no-reply@digitalchalkmail.com.

Detalhes práticos

Atualmente, a DigitalChalk se integra ao Mailgun usando a API do JavaMail via SMTP, com suporte tanto para SSL na porta 465 quanto para TLS na porta 587. Para conectar as suas duas contas, basta inserir as suas credenciais SMTP do Mailgun e o endereço de remetente na DigitalChalk:

digitalchalkblogpic1

Também utilizamos o recurso de tag personalizada do Mailgun para cada e-mail enviado. Por exemplo, o cabeçalho de e-mail x-mailgun-tag pode ter um valor como “USERCREATED” ou “COURSECOMPLETED”. Isso indica qual evento na DigitalChalk disparou a notificação e fornece ainda mais detalhes no Mailgun. Veja como essas tags podem aparecer no painel de controle do Mailgun:

digitalchalkblogpic2

A DigitalChalk usa um cluster de servidores de notificação dedicado para distribuir os e-mails enviados. O cluster de servidores lida com a conexão, o protocolo e o payload (HTML, texto simples e anexos) trocados com o Mailgun. No caso improvável (por exemplo, queda na rede) de não conseguirmos repassar o e-mail para o Mailgun, usamos várias estratégias de repetição para garantir que o e-mail acabe sendo entregue. Uma dessas estratégias é a estratégia de repetição ao cubo. O intervalo de tempo entre as repetições aumenta pelo cubo do número da tentativa, com um máximo de cinco repetições. O código simplesmente calcula o horário da próxima tentativa:

                                

                                    public Date nextAttemptDate(Notification n) {rnrn    if (n.getAttempts() >= this.maxAttempts) {rn        return null;rn    }rnrn    if (n.getLastAttemptedDate() == null) {rn        return new Date();rn    } else {rn        long delayMillis = (long) (Math.pow(n.getAttempts() + 1, 3) * 1000 * 60);rn        return new Date(n.getLastAttemptedDate().getTime() + delayMillis);rn    }rnrn} rn
                                
                            

Se a DigitalChalk não conseguir repassar o e-mail para o Mailgun na primeira tentativa, esperamos oito minutos (2^3) e tentamos novamente. Depois, esperamos 27 minutos para a terceira tentativa, 64 minutos para a quarta tentativa e 125 minutos para a quinta tentativa. Essa estratégia cria uma boa curva para equilibrar o excesso de repetições com a confiabilidade.

Estratégias de repetição reduzem muito as chances de falha, mas não as eliminam. Digamos que o cliente altere a senha do Mailgun. Dez minutos depois, a senha é atualizada na DigitalChalk (conforme a captura de tela acima). Isso deixa uma janela de dez minutos em que todas as notificações de saída falharão ao se conectar ao Mailgun. Felizmente, neste exemplo, a estratégia de repetição ao cubo vai se conectar com sucesso na terceira tentativa. No entanto, se o cliente esperar 4 h para atualizar a senha na DigitalChalk, a estratégia de repetição se esgotará e a notificação não será entregue. Mas não perdemos a notificação: a clientela pode ver as falhas (e as causas) na DigitalChalk:

digitalchalkblogpic3

Nesse ponto, o cliente pode simplesmente clicar para tentar enviar a notificação original novamente, e o processo de entrega recomeça. Evitamos possíveis e-mails duplicados, aumentamos a confiabilidade e tornamos as falhas fáceis de resolver quando ocorrem.

Resumo

Temos o prazer de lançar essa nova integração com o Mailgun. A clientela da DigitalChalk que usa o Mailgun não apenas terá uma presença online mais forte por causa da personalização da marca nos e-mails, mas também se beneficiará de recursos adicionais do Mailgun, como listas de e-mails, campanhas de marketing, personalização, análises, validação de endereço e rastreamento. Se você é cliente da DigitalChalk , incentivamos você a se cadastrar na sua conta do Mailgun e começar a definir a sua própria marca nos e-mails hoje mesmo.

Clique aqui para ler mais sobre a nossa integração com o Mailgun.