Comece a enviar seu próprio e-mail com esta API amigável e com o mínimo de configuração.
No mundo digital acelerado de hoje, o email marketing é uma ferramenta essencial para as empresas alcançarem seus clientes de maneira eficaz. No entanto, implementar um sistema de e-mail pode ser um processo complexo e demorado, especialmente para desenvolvedores que são novos na tarefa.
Felizmente, com Sendinblue, enviar e-mails é uma tarefa muito fácil. Como uma plataforma de software como serviço (SaaS), a Sendinblue fornece tudo o que você precisa como proprietário ou desenvolvedor de negócios para enviar seus e-mails aos seus usuários com muita facilidade.
O que é Sendinblue?
SendinBlue é uma plataforma de software como serviço (SaaS) que oferece uma solução de marketing por e-mail fácil de usar para pequenas, médias e grandes empresas. SendinBlue fornece uma plataforma que ajuda as empresas a aumentar seus relacionamentos com seus clientes, principalmente por meio de serviços de e-mail e SMS.
A SendinBlue também oferece APIs e ferramentas que permitem aos desenvolvedores automatizar e enviar e-mails e SMS. Essas ferramentas são simples de integrar com Node.js e outras linguagens de programação para criar campanhas personalizadas de e-mail e SMS.
Com SendinBlue, as empresas podem simplificar os processos de comunicação e alcançar usuários ou clientes com mais eficiência.
Como obter credenciais da API SendinBlue
Para usar APIs e SDKs SendinBlue, o primeiro pré-requisito é uma conta SendinBlue. SendinBlue fornece um processo de inscrição fácil e você pode criar uma conta no Página de inscrição SendinBlue.
Crie uma conta, insira os detalhes necessários e escolha um plano adequado no processo de integração. A SendinBlue irá redirecioná-lo para seu painel, onde você poderá obter suas credenciais de API.
Para obter suas credenciais de API, siga as etapas abaixo.
- Clique no nome da sua organização no canto superior direito do painel.
- Selecione SMTP e API no menu que desce.
- Mude para o Chaves de API guia e clique noGerar uma nova chave de API botão.
- No pop-up que aparece, dê um nome à sua chave, copie a string gerada e armazene-a com segurança.
Essa string é sua chave de API e sua credencial de identidade que você deve armazenar com cuidado para não cair em mãos erradas.
Como construir um sistema de envio de e-mail em Node.js
Node.js não tem um pacote de e-mail embutido como Golang. Para enviar e-mails, você precisa de um pacote externo como nodemailer ou aquele que a SendinBlue oferece.
Você também precisará de um conhecimento prático de Node.js e de um ambiente de desenvolvimento Node.js em sua máquina.
Considere este aplicativo Node/Express simples com um /waitlist ponto final:
// server.js
const expresso = exigir('expressar');//cria servidor
const servidor = expresso();
const porta = 3333;server.listen (porta, () => {
console.registro(`servidor escutando na porta ${porta}`);
})// cria endpoint de lista de espera
servidor.use('/lista de espera', assíncrono (req, res) => {
tentar {
const usuário = req.corpo;
console.registro(`${user.fullname} entrou na lista de espera`);
res.status(200).json({ mensagem: 'Entrou na lista de espera com sucesso' })
} pegar (erro) {
console.erro (erro)
res.status(500).json({ mensagem: 'Um erro ocorreu' })
}
})
Você pode usar SendinBlue para enviar um e-mail de boas-vindas a um usuário que ingressa na lista de espera.
A primeira etapa é instalar o SDK usando npm ou qualquer outro gerenciador de pacotes. Correr npm instalar sib-api-v3-sdk ou fio adicionar sib-api-v3-sdk na pasta do seu projeto para adicioná-lo às dependências do projeto.
Após a instalação, você está pronto para começar a enviar e-mails com apenas mais algumas linhas de código. Em um projeto maior, você provavelmente desejaria isolar a funcionalidade de e-mail em um arquivo separado. No entanto, para esta demonstração, você pode continuar usando o mesmo server.js arquivo.
Importar o sib-api-v3-sdk pacote e configure o cliente SendinBlue como abaixo:
const SibApi = exigir('sib-api-v3-sdk');
// instanciar novo cliente SendinBlue API
const SibClient = SibApi. ApiClient.instance;
// Autenticação
SibClient.authentications['Chave API'].apiKey = process.env. SIB_API_KEY
|| 'SUA_API_KEY_AQUI';
Em seguida, defina algumas configurações e crie uma função para enviar os emails de boas-vindas:
const transactionEmailApi = novo SibApiSDK.TransactionalEmailsApi();
deixar smtpMailData = novo SibApiSDK.SendSmtpEmail();
const remetente = {
e-mail: '[email protected]', // Seu endereço de email
nome: 'Exemplo de Remetente',
};
const SendWaitlistEmail = assíncrono (userData) => {
}
O transaçãoEmailApiA variável armazena um objeto que permite enviar e-mails de transação (como são chamados no SendinBlue). O smtpMailData A variável armazenará os dados de e-mail da transação que você precisará enviar para cada e-mail: destinatário, conteúdo, etc.
Agora vamos ao corpo do EnviarLista de EsperaE-mail função. O código a seguir mostra como deve ser o corpo da função.
const SendWaitlistEmail = assíncrono (userData) => {
tentar {
smtpMailData.sender = remetente;smtpMailData.to = [{
e-mail: userData.email,
nome: userData.fullname
}];smtpMailData.subject = 'Você está na lista de espera!';
smtpMailData.params = {
'nome': userData.fullname,
'Twitter': '@fazer uso de'
};smtpMailData.htmlConteúdo = "
";Olá {{ params.name }}, "
+ "bem-vindo à lista de espera makeuseof.com. Iremos notificá-lo"
+ "quando lançamos. Por favor, siga-nos no Twitter "
+ "{{ params.twitter }}.
// enviar email
aguardam transactionEmailApi.sendTransacEmail (smtpMailData)
.então((dados) => {
console.log (dados) // registra o id do e-mail
})
.pegar((erro) => {
console.erro (erro)
lançarnovoErro(erro) // trata erros
})
} pegar (erro) {
console.registro('Um erro ocorreu...')
console.erro (erro)
lançarnovoErro(erro) // trata erros
}
}
A maior parte desse código preenche as principais propriedades do smtpMailData objeto. Em ordem, são eles:
- remetente: Um objeto contendo duas propriedades: email e nome. O código acima usa um endereço de e-mail fictício, mas você deve usar um endereço de e-mail real e funcional para aplicativos de produção.
- para: Esta é uma matriz de destinatários de e-mail. Os elementos desta matriz são objetos definidos com os dados (e-mail e nome) do destinatário do e-mail. Você pode ter até 50 destinatários por mensagem. Tecnicamente, é possível enviar sua mensagem para mais de 50 de uma só vez, mas isso aumenta o risco de os agentes de e-mail tratá-la como spam.
- assunto: Este é o assunto do email a enviar.
- parâmetros: São dados adicionais que você pode usar em várias partes do seu e-mail (principalmente no assunto e no conteúdo). Você pode usar valores deste parâmetros objeto colocando-os entre chaves duplas (ou seja, {{ params.name }}).
- htmlConteúdo: Essa propriedade define o corpo da mensagem. Ajuda a definir o corpo da mensagem do e-mail, que você pode formatar usando HTML. Ele também tem uma alternativa, conteúdo de texto, que mantém o corpo da mensagem simples.
O e-mail pode ter mais propriedades, e você pode descobrir todas elas em Documentação do desenvolvedor da SendinBlue.
finalmente, o enviarTransacEmail método de transaçãoEmailApi envia o e-mail e retorna o ID do e-mail.
Tendo implementado o EnviarLista de EsperaE-mail função, você pode chamá-la no endpoint da lista de espera. O endpoint da lista de espera acima ficará assim:
servidor.use('/lista de espera', assíncrono (req, res) => {
tentar {
const usuário = req.corpo;console.registro(`${user.fullname} entrou na lista de espera`);
// chama a função do remetente do e-mail
aguardam SendWaitlistEmail (usuário)
res.status(200).json({ mensagem: 'Entrou na lista de espera com sucesso' })
} pegar (erro) {
console.erro (erro)
res.status(500).json({ mensagem: 'Ocorreu um erro interno do servidor' })
}
})
Você pode iniciar seu aplicativo e testar o endpoint da lista de espera em um cliente REST API ou no front-end do seu aplicativo. Aqui está um exemplo de solicitação de teste do Postman.
Aqui está a aparência do e-mail recebido. Observe que os valores do parâmetros objeto estão presentes.
Se você verificar seu terminal, também verá o messageId impresso no console. Você pode armazenar esse valor em um banco de dados ou log para identificar um determinado email.
Você também pode considerar verificar alguns dicas para evitar que e-mails vão para o spam dos destinatários.
Embora esse sistema de e-mail funcione corretamente, fazer com que o terminal chame diretamente a função de remetente de e-mail não é a abordagem mais eficiente. Isso pode fazer com que seu aplicativo espere desnecessariamente enquanto envia o e-mail. Para evitar isso, você deve otimizar o processo Implementando uma fila de tarefas para lidar com a carga de trabalho de e-mail.
Enviar e-mails em Node.js nunca foi tão fácil
É gratificante perceber que você pode construir um serviço para enviar e-mails em Node.js com muita facilidade.
Além do escopo deste guia, há muito mais que você pode fazer com o SendinBlue. Você pode enviar diferentes versões de e-mail para diferentes destinatários ao mesmo tempo, usar modelos de e-mail fornecidos por SendinBlue, configure webhooks para detectar ações realizadas por seus destinatários de e-mail e visualize em tempo real análise.
Você pode explorar esses recursos verificando-os no portal do desenvolvedor e implementando-os em seus aplicativos Node.js.