Product
A integração nativa com o Mailgun permite que aplicativos Meteor enviem e-mails gratuitamente
Somos grandes fãs do Meteor desde o seu lançamento, pois ficou claro que eles compartilhavam nossa paixão por facilitar a vida de quem desenvolve. É por isso que queríamos fazer essa parceria com eles para viabilizar o envio de e-mail transacional na plataforma. Ao adicionar o pacote inteligente do Meteor para e-mail, você ganha acesso à API de e-mail do Meteor para usar com qualquer servidor SMTP padrão. E não é só isso: se você implantar o seu aplicativo usando o meteor deploy na plataforma Meteor (já existem milhares deles), ele virá AUTOMATICAMENTE com uma conta do Mailgun. Não é exigido nenhum tipo de configuração para começar a enviar e-mails de aplicativos que realmente cheguem à caixa de entrada do seu usuário.
Caso você ainda não saiba, por que você deve considerar o Meteor para criar o seu próximo aplicativo web?
O Meteor foi criado para resolver problemas reais que a equipe de desenvolvimento de aplicativos web enfrenta o tempo todo. No Meteor, você escreve todo o seu aplicativo em JavaScript, tanto a parte do cliente quanto a do servidor. Você pode colocar um aplicativo em funcionamento rapidamente, pois só precisa pensar em uma linguagem e em uma API.
O Meteor resolve muitas outras partes difíceis de escrever aplicativos web modernos e ricos. Ele redesenha a tela automaticamente quando os dados subjacentes mudam, para que você não precise escrever nenhum código de redesenho de modelo. Ele oferece uma API de banco de dados única e consistente no cliente e no servidor. Além disso, ele inclui o recurso de hot code pushes, para que você possa implantar alterações continuamente no seu aplicativo sem interromper todos os seus usuários conectados. (Isso está se tornando cada vez mais importante agora, já que mais e mais aplicativos são executados no navegador e não no servidor.)
Como enviar e-mails com o Meteor usando o Mailgun
No início deste post, mencionamos que o Meteor oferece uma integração nativa com o Mailgun. Isso significa que, ao adicionar o e-mail pacote ao seu projeto do Meteor e usar o meteor deploy, você poderá enviar automaticamente até 300 e-mails por dia por meio do Mailgun, sem precisar criar uma conta separada do Mailgun ou inserir credenciais de SMTP. Basta usar a função email.send e definir a estrutura do e-mail (to:, from:, subject:, text: ou html:). Por exemplo, para enviar um e-mail simples apenas com texto, você poderia usar:
Email.send({
from: fromEmail,
to: toEmail,
replyTo: fromEmail,
subject: "That was easy",
text: "If you're reading this, sending an email through Meteor really was that easy"
});
Se você quiser enviar um e-mail do cliente, em vez do servidor, isso também é possível. Basta definir um método no servidor e chamá-lo a partir do cliente. Isso seria útil, por exemplo, se você estivesse criando um aplicativo social no qual as ações de um usuário no cliente funcionassem como gatilho para o envio de um e-mail a outros usuários, de maneira semelhante a como o Facebook permite que os usuários recebam um e-mail quando amigos curtem ou comentam um post.
// In your server code: define a method that the client can call
Meteor.methods({
sendEmail: function (to, subject, text) {
// Let other method calls from the same client start running,
// without waiting for the email sending to complete.
this.unblock();
// don’t allow sending email unless the user is logged in
if (!Meteor.user())
throw new Meteor.Error(403, “not logged in”);
// and here is where you can throttle the number of emails this user
// is allowed to send per day
Email.send({
to: to,
from: Meteor.user().emails[0].address,
subject: subject,
text: text
});
}
});
// In your client code: asynchronously send an email
Meteor.call('sendEmail',
'alice@example.com',
'Hello from Bob!',
'This is a test of Email.send.');
Em um aplicativo real, você precisaria ter cuidado para limitar os e-mails que um cliente pode enviar, a fim de evitar que o seu servidor seja usado como um relay por spammers. Ao chamar o método email.send dentro de um método no servidor, você ganha a capacidade de lidar facilmente com o controle de acesso e com os limites de taxa para clientes.
Envio de mais de 300 e-mails por dia pelo Meteor
Se você quiser enviar mais de 300 e-mails por dia por meio do Meteor, isso também é possível e requer apenas que você faça o cadastro em uma conta do Mailgun. Em breve teremos outro post descrevendo como esse processo funciona e como prevemos uma integração ainda mais profunda no futuro, à medida que o Meteor avança para a disponibilidade geral.
O que você gostaria de ver em uma integração entre o Mailgun e o Meteor? Deixe suas ideias nos comentários deste blog ou no Hacker News. Adoraríamos ouvi-las.