Product
La integración nativa de Mailgun permite a las aplicaciones de Meteor enviar email gratis
Somos grandes admiradores de Meteor desde su lanzamiento, ya que estaba claro que compartían nuestra pasión por facilitar la vida al equipo de desarrollo. Por eso queríamos asegurarnos de asociarnos con ellos para habilitar el email transaccional en su plataforma. Al añadir el paquete inteligente de Meteor para email, obtienes acceso a la API de email de Meteor para usarla con cualquier servidor SMTP estándar. No solo eso, sino que si despliegas tu aplicación usando meteor deploy en la plataforma de Meteor (ya hay miles), esta incluye AUTOMÁTICAMENTE una cuenta de Mailgun. No se requiere absolutamente ninguna configuración para empezar a enviar emails de aplicaciones que realmente lleguen a la bandeja de entrada de tu usuario.
Si aún no lo sabes, ¿por qué deberías plantearte crear tu próxima aplicación web en Meteor?
Meteor se creó para resolver problemas reales a los que se enfrenta el equipo de desarrollo de aplicaciones web a diario. En Meteor, escribes toda tu aplicación en JavaScript, tanto la parte del cliente como la del servidor. Puedes tener una aplicación en funcionamiento de forma rápida, porque solo tienes que pensar en un lenguaje y una API.
Meteor resuelve muchos otros aspectos complejos de la creación de aplicaciones web ricas y modernas. Redibuja la pantalla automáticamente cuando los datos subyacentes cambian, de modo que no tienes que escribir ningún código de actualización de plantilla. Te ofrece una API de base de datos única y coherente en el cliente y en el servidor. Y además incluye actualizaciones de código en caliente (hot code pushes), para que puedas desplegar cambios de forma continua en tu aplicación sin interrumpir a todos tus usuarios con sesión iniciada. (Esto cobra cada vez más importancia a medida que más aplicaciones se ejecutan en el navegador en lugar de en el servidor).
Cómo enviar emails con Meteor usando Mailgun
Al principio de este artículo, mencionamos que Meteor ofrece una integración nativa con Mailgun. Esto significa que al añadir el email paquete a tu proyecto de Meteor y usar meteor deploy, podrás enviar de forma automática hasta 300 emails al día a través de Mailgun sin tener que crear una cuenta de Mailgun independiente ni introducir credenciales SMTP. Solo tienes que usar la función email.send y definir la estructura del email (to:, from:, subject:; text: o html:). Por ejemplo, para enviar un email sencillo que solo contenga texto, puedes 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"
});
Si quieres enviar un email desde el cliente en lugar del servidor, también es posible. Solo tienes que definir un método en el servidor y llamarlo desde el cliente. Esto sería útil, por ejemplo, si estuvieras creando una aplicación social en la que las acciones que realiza un usuario en el cliente deberían activar el envío de un email a otros usuarios, de forma similar a cómo Facebook permite a los usuarios recibir un email cuando sus amistades le dan a me gusta o comentan en una publicación.
// 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.');
En una aplicación real, tendrías que tener cuidado y limitar los emails que un cliente puede enviar para evitar que las cuentas de spam usen tu servidor como repetidor. Al llamar al método email.send dentro de un método en el servidor, obtienes la capacidad de gestionar con facilidad el control de acceso y el límite de velocidad para los clientes.
Enviar más de 300 emails al día mediante Meteor
Si quieres enviar más de 300 emails al día mediante Meteor, también es posible y solo requiere que te registres para obtener una cuenta de Mailgun. Pronto publicaremos otro artículo en el que describiremos cómo funciona ese proceso y cómo concebimos una integración aún más profunda en el futuro a medida que Meteor avanza hacia la disponibilidad general.
¿Qué te gustaría ver en una integración de Mailgun con Meteor? Deja tus ideas en los comentarios de este blog o en Hacker News. Nos encantaría conocerlas.