Comment implémenteriez-vous les mises à jour de base de données par courrier électronique?

StackOverflow https://stackoverflow.com/questions/126068

  •  02-07-2019
  •  | 
  •  

Question

Je construis un site Web public qui a son propre nom de domaine avec des services de messagerie pop / smtp. J'envisage de donner aux utilisateurs la possibilité de mettre à jour leurs données par courrier électronique - une fonctionnalité similaire à celle de Flickr ou de Blogger dans laquelle vous envoyez des messages par courrier électronique à une adresse électronique spéciale. Les données de courrier électronique sont ensuite traitées et stockées dans la base de données sous-jacente du site Web.

J'utilise ASP.NET et SQL Server, ainsi qu'un service d'hébergement partagé. Avez-vous des idées sur la manière de mettre en œuvre cela, ou même s'il est possible d'utiliser un hébergement partagé?

Merci

Était-ce utile?

La solution

Pour commencer, vous devez disposer d'un hébergement vous permettant de créer une boîte aux lettres à tout faire.

Deuxièmement, vous avez besoin d’une bonne bibliothèque POP3 ou IMAP, qui n’est pas incluse AFAIK dans la pile .NET.

Ensuite, vous écririez une application de ligne de commande ou un service qui vérifie régulièrement la boîte aux lettres, extrait les messages, insère le contenu dans la base de données en se basant sur l'option "Vers". adresse (unique pour chaque utilisateur), puis supprime le courrier électronique de la boîte aux lettres.

C'est faisable et ça a l'air amusant. Assurez-vous d’avoir tout ce dont vous avez besoin avant de commencer!

Autres conseils

Si les données sont quelque peu "critiques" ou au moins modérément importantes, n'utilisez PAS leur nom d'utilisateur en tant que "adresse de modification de données". Exemple: vous pourriez être tenté de créer une adresse telle que nomutilisateur@domaine.com , mais utilisez plutôt nomutilisateur- nom_langeur@domaine.com pour leur donner le nombre aléatoire si le visitez la page Web. De cette façon, les gens ne peuvent pas mettre à jour les données d'autres personnes simplement en connaissant leur nom d'utilisateur.

Les courriers électroniques peuvent être falsifiés de manière triviale. Je ne le ferais que si vous pouviez traiter des certificats PGP / SMime dans votre application.

À part cela, je ne vois aucune raison de ne pas le faire!

utilisez un popclient dotnet pour lire les courriels entrants, les analyser en fonction de vos attentes et insérer les données dans la base de données.

voir le site Web codeproject pour une implémentation simple de popclient vous devez choisir vous-même le contenu de l'e-mail, par exemple données uniquement, données utiles SQL, etc.

Vous pouvez également identifier l'utilisateur en fonction de l'adresse de l'expéditeur. C’est ainsi que Tripit (et probablement d’autres) le fait. Cela ne nécessite qu'une seule adresse électronique.

J'ai fait quelque chose de similaire en utilisant le client IMAP de Lumisoft et la planification une tâche dans mon application qui vérifie toutes les x minutes l'adresse électronique configurée pour les mises à jour. Pour la planification, je recommande quartz.net . Aucun lancement de processus externe ou quoi que ce soit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top