2009-07-17 11 views
6

Je souhaite envoyer des données à une adresse e-mail et les enregistrer dans une base de données MySQL (PHP). Quelle est la manière la plus simple de le faire? (Pas de poste de forme, pas de boucle, etc., juste email)Mail vers la base de données MySQL

+0

@all: Je suis très heureux d'avoir vos réponses si rapidement. –

+0

Toutes vos idées ont leur portée particulière. Je me souviendrai d'eux quand j'ai très problème. Dans mon cas particulier, je prendrai en compte la solution de Dennis, car elle convient le mieux. Merci beaucoup. –

+0

J'ai voté toutes les réponses, parce que toutes sont bonnes dans leur portée. –

Répondre

4

Si votre serveur n'a pas imap, mais vous avez un système externe qui n'a Cron vous pouvez écrire une page qui vérifie le compte e-mail et charge les données dans MySQL puis mis en place un script sur un machine qui a cron pour wget la page mysql une fois toutes les X minutes où X est à quelle fréquence vous voulez charger des données.

Alternativement, si vous savez que les emails se chargeront rapidement, vous pouvez configurer une petite table de champ dans votre DB avec un horodatage. Chaque fois que votre script PHP s'exécute, il vérifie l'horodatage et s'il a plus de 5 minutes, il appelle le script de chargement de l'email avant de charger la page web.

+0

hahaha, c'est l'idée Hey Dennis, vous faites ma journée –

+0

+1 Je viens d'éditer ma réponse pour ajouter l'idée chèque-email-par-page –

+0

voir comme un bonus pour votre travail; _) –

4

Si vous pouvez accéder à l'e-mail en utilisant POP juste have a process vérification du courrier électronique avec POP functions et d'envoyer le tout à votre base de données

vous pouvez également utiliser php IMAP support

+0

J'ai déjà accès et je prends en compte votre solution. Mais le compte de serveur n'a aucune capacité de cron. –

+0

Sans cron, je ne vois aucun moyen de le faire, autre que d'utiliser un autre serveur qui a cron pour appeler le script php ou un serveur de messagerie personnalisé, qui appelle le script. –

+0

Voulez-vous dire que le serveur n'a pas de capacités cron parce qu'il est dans un service d'hébergement? –

3

En supposant que vous savez déjà comment sauvegarder les données dans mysql, vous devrez accéder à un serveur de messagerie, soit le vôtre, soit un hébergeur, soit vous pouvez en utiliser un gratuit comme Gmail ou Hotmail.

Vous pouvez ensuite utiliser les fonctions IMAP de PHP (qui peuvent également accéder à POP) pour accéder au courrier. Articles qui peuvent vous aider avec ceci: PHP imap info et a tutorial on creating PHP webmail

+0

Cher Nico, merci pour l'alternative. –

5

il y a plusieurs manières.

  • utiliser un script alias Postfix, essentiellement, Postfix reçoit votre courrier, puis l'exécute par un script de votre choix. Le contenu du mail apparaît dans STDIN - alors vous pouvez faire ce que vous voulez avec le contenu du mail.

  • Utilisez un serveur de messagerie personnalisé comme James apache, qui est conçu pour traiter le courrier, et «faire quelque chose avec ce

{Un bon j'ai trouvé récemment été dans les laboratoires de Google - http://freshmeat.net/projects/subethasmtp} - avait l'air vraiment bien. Veuillez noter que le courrier électronique n'est pas un protocole garanti, si vous essayez de faire la messagerie d'une application à l'autre, alors il y a probablement de meilleurs moyens!

Hope this helps., As

+0

Pour mon problème actuel, je ne vois pas un moyen de l'impliquer. :-(Mais merci beaucoup pour l'indice.Pour d'autres configurations, cela fonctionnera: –

+0

Si vous utilisez le sous-programme, vous devez écrire deux classes, une fabrique de messages personnalisés et un gestionnaire de message personnalisé.Si le serveur reçoit un mail, il effectiley crée l'un des objets du gestionnaire, et effectiley vous transmet le flux de données de l'objet message, puis vous utilisez MimeMessage et Session pour le décoder en un objet que vous pouvez faire ce que vous voulez: dans votre cas, extraire les champs et placer une base de données J'ai eu un exemple et je travaillais en environ 1 heure, c'était un framework très bien pensé – phatmanace

+0

Il semble que nous ayons trouvé une manière soignée qui soit très intéressante pour la communauté, ce serait sympa si vous la partagiez –

1

Il y a un tutoriel slicehost étape par étape qui prend une machine unix, installe Postfix sur elle, le met à utiliser MySQL et configure pour accepter les utilisateurs virtuels et servir/recevoir des courriels de plusieurs domaines.

La configuration est propre, rapide et sûre. La vie est belle, hein?

http://articles.slicehost.com/email

+0

votre conseil, je vais le prendre en compte –

1

Vous devriez peut-être consulter www.dbmail.org

Questions connexes