Product
Native Mailgun-Integration lässt Meteor-Apps E-Mails kostenlos versenden
Wir sind große Fans von Meteor seit dem Start, denn es war offensichtlich, dass sie unsere Leidenschaft teilen, den Arbeitsalltag von Entwicklungsteams zu erleichtern. Deshalb wollten wir unbedingt eine Partnerschaft mit ihnen eingehen, um Transaktions-E-Mails auf ihrer Plattform zu ermöglichen. Wenn Sie das Meteor-Smart-Package für E-Mails hinzufügen, erhalten Sie Zugriff auf die E-Mail-API von Meteor zur Nutzung mit jedem Standard-SMTP-Server. Und nicht nur das: Wenn Sie Ihre App mit meteor deploy auf der Meteor-Plattform bereitstellen (es gibt bereits Tausende), verfügt sie AUTOMATISCH über ein Mailgun-Konto. Es ist absolut keine Konfiguration erforderlich, um E-Mails aus der App zu versenden, die auch tatsächlich im Posteingang Ihrer Nutzerschaft landen.
Falls Sie es noch nicht wissen: Warum sollten Sie in Erwägung ziehen, Ihre nächste Web-App mit Meteor zu entwickeln?
Meteor wurde entwickelt, um echte Probleme zu lösen, mit denen Entwicklungsteams von Web-Apps ständig konfrontiert sind. In Meteor schreiben Sie Ihre gesamte Anwendung in JavaScript, sowohl den Client- als auch den Serverteil. Sie bringen eine Anwendung schnell zum Laufen, da Sie nur in einer Sprache und einer API denken müssen.
Meteor löst viele weitere schwierige Aspekte beim Schreiben moderner, umfangreicher Webanwendungen. Der Bildschirm wird bei Änderungen der zugrunde liegenden Daten automatisch neu gezeichnet, sodass Sie keinen Code für das Neuzeichnen von Vorlagen schreiben müssen. Es bietet Ihnen eine einzige, konsistente Datenbank-API auf dem Client und dem Server. Zudem sind Hot Code Pushes integriert, sodass Sie Änderungen kontinuierlich in Ihrer Anwendung bereitstellen können, ohne die gesamte angemeldete Nutzerschaft zu unterbrechen. (Dies wird immer wichtiger, da zunehmend mehr Apps im Browser statt auf dem Server ausgeführt werden.)
So versenden Sie E-Mails mit Meteor über Mailgun
Zu Beginn dieses Beitrags haben wir erwähnt, dass Meteor eine native Integration für Mailgun bietet. Das bedeutet: Wenn Sie das E-Mail -Paket zu Ihrem Meteor-Projekt hinzufügen und meteor deploy nutzen, versenden Sie automatisch bis zu 300 E-Mails pro Tag über Mailgun, ohne ein separates Mailgun-Konto erstellen oder SMTP-Anmeldedaten eingeben zu müssen. Nutzen Sie einfach die Funktion email.send und definieren Sie die Struktur der E-Mail (to:, from:, subject:; text: oder html:). Um beispielsweise eine einfache reine Text-E-Mail zu versenden, verwenden Sie:
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"
});
Falls Sie eine E-Mail vom Client statt vom Server versenden möchten, ist auch das möglich. Definieren Sie einfach eine Methode auf dem Server und rufen Sie diese vom Client aus auf. Dies ist beispielsweise nützlich, falls Sie eine Social-App entwickeln, bei der Aktionen einer Person im Client den Versand einer E-Mail an andere in der Nutzerschaft auslösen sollen – ähnlich wie bei Facebook, wo eine Person per E-Mail benachrichtigt wird, wenn Freunde einen Beitrag liken oder kommentieren.
// 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.');
In einer tatsächlichen Anwendung müssen Sie die Anzahl der E-Mails, die ein Client versenden darf, sorgfältig begrenzen, um zu verhindern, dass Spammer Ihren Server als Relay nutzen. Durch den Aufruf der Methode email.send innerhalb einer serverseitigen Methode verwalten Sie Zugriffskontrollen und Ratenbegrenzungen für Clients problemlos.
Versand von mehr als 300 E-Mails pro Tag über Meteor
Falls Sie mehr als 300 E-Mails pro Tag über Meteor versenden möchten, ist auch das möglich – Sie müssen sich lediglich für ein Mailgun-Konto registrieren. Wir veröffentlichen in Kürze einen weiteren Beitrag, der diesen Prozess beschreibt und aufzeigt, wie wir uns in Zukunft eine noch tiefere Integration vorstellen, während Meteor sich der allgemeinen Verfügbarkeit nähert.
Was wünschen Sie sich von einer Mailgun-Meteor-Integration? Hinterlassen Sie Ihre Ideen in den Kommentaren dieses Blogs oder auf Hacker News. Wir freuen uns auf Ihr Feedback.