2008-09-24 4 views
3

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 e-mail - quelque chose de similaire à la fonctionnalité de Flickr ou de Blogger dans laquelle vous envoyez des messages par e-mail à une adresse e-mail spéciale. Les données de courrier électronique sont ensuite traitées et stockées dans la base de données sous-jacente pour le site Web. J'utilise ASP.NET et SQL Server et j'utilise un service d'hébergement partagé. Des idées comment mettre en œuvre ceci, ou si c'est même possible en utilisant l'hébergement partagé?Comment implémenteriez-vous des mises à jour de base de données par email?

Merci

Répondre

3

Pour commencer, vous devez avoir un hébergement qui vous permet de créer une boîte aux lettres fourre-tout. 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 écrivez 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 db basé sur l'adresse «À» (unique pour chaque utilisateur), puis supprime l'e-mail 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!

1

Les e-mails peuvent être falsifiés. Je ne ferais cela que si vous pouvez traiter les certificats PGP/SMime dans votre application.

À part ça, je ne vois pas pourquoi pas!

+0

Si les données sont assez triviales, je pense que PGP ne serait probablement pas nécessaire. Mais sinon je suis d'accord! :) –

0

Utilisez un pop-point dotnet pour lire les emails entrants, les analyser pour tout ce que vous attendez et insérer les données dans la base de données.

voir le site web CodeProject pour implémentation simple de popclient que vous auriez à décidé l'e-mail vous contenu, par exemple des données uniquement, la charge utile des instructions SQL, etc

0

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 nécessite seulement une adresse e-mail de votre côté.

+0

Ceci est probablement plus dangereux que d'utiliser une adresse de réception secrète. Pas une bonne idée, je pense. –

+0

Je suppose que cela dépend de votre application considère les données arbitraires de personnes aléatoires dangereux ou non. Tout ce que je dis, c'est qu'il existe des sites assez populaires qui utilisent cette technique. –

2

Si les données sont quelque peu «critiques», ou au moins moyennement importantes, N'utilisez PAS leur nom d'utilisateur comme «adresse de changement de données». Exemple: Vous pourriez être tenté de créer une adresse comme [email protected], mais utilisez plutôt [email protected] où vous leur donnez le nombre aléatoire si vous 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.

0

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

Questions connexes