Home

Mailin est un serveur SMTP développé en Node.js permettant d’intercepter des emails envoyés et envoyer automatiquement un JSON à une URL.

Mailin est un serveur SMTP développé en Node.js permettant d'intercepter des emails envoyés et envoyer automatiquement un JSON à une URL.

Que ce soit pour un CRM, un outil de debug, une plateforme de communication … il peut être très intéressant d’intercepter des emails envoyés à une adresse spécifique pour récupérer l’email et afficher certaines de ses infos sur une page web ou autre …

Grâce à Mailin, vous pourrez en temps réel, intercepter les emails envoyés, et automatiquement poster un JSON sur une adresse spécifique.

Imaginons que vous souhaitez réaliser un dashboard avec les erreurs de vos applications/sites en temps réel. Il suffirait de configurer dans vos apps d’envoyer un email de rapport d’erreur à une adresse interceptée par Mailin pour ensuite envoyer le détail en JSON à un Webservice, qui permettrait l’affichage des erreurs dans un dashboard.

Et ça marche plutôt bien !

Interception d'email et affichage d'un JSON détaillé

Le service peut être couplé à spamassassin pour contrer l’envoi d’emails spams et n’envoyer que les bons emails en JSON. Il permet aussi de vérifier le SPF et DKIM du mail.

Côté format du JSON, voici à quoi il va ressembler:

01.{
02.mailinMsg:
03.{
04.html: '<div><b>Hello world!</b></div>',
05.text: 'Hello world!',
06.headers: {
07.from: 'John Doe <john.doe@somewhere.com>',
08.to: 'Jane Doe <jane.doe@somewhereelse.com>',
09.'content-type': 'multipart/mixed; boundary="----mailcomposer-?=_1-1395066415427"',
10.'mime-version': '1.0'
11.},
12.priority: 'normal',
13.from: [{
14.address: 'john.doe@somewhere.com',
15.name: 'John Doe'
16.}],
17.to: [{
18.address: 'jane.doe@somewhereelse.com',
19.name: 'Jane Doe'
20.}],
21.attachments: [{
22.contentType: 'text/plain',
23.fileName: 'dummyFile.txt',
24.contentDisposition: 'attachment',
25.transferEncoding: 'base64',
26.generatedFileName: 'dummyFile.txt',
27.contentId: '6e4a9c577e603de61e554abab84f6297@mailparser',
28.checksum: 'e9fa6319356c536b962650eda9399a44',
29.length: '28'
30.}],
31.dkim: 'failed',
32.spf: 'pass',
33.spamScore: 3.3,
34.language: 'english',
35.cc: [{
36.address: 'james@mail.com',
37.name: 'James'
38.}]
39.},
40.'dummyFile.txt': 'a-base64-encoded-string=='
41.}

A vous de traiter en Node.js ou directement dans votre Webservice la pertinence du message à l’aide des infos à dispo.

Mailin est disponible gratuitement sur Github. Sympa non ?

Site Officiel

Publicités

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s