Script sur une boite mail

Eléphanteau du PHP | 40 Messages

06 oct. 2016, 15:44

Bonjour,

Je suis actuellement en stage dans une entreprise pour le début de ma 2nde année d'étude. N'ayant fait que du C jusqu'à présent je me retrouve à m'auto former dans d'autres langages pour me rendre utile.

Actuellement je dois réfléchir à un script qui, à partir d'une boite mail, pourrait récupérer le contenus des mails qu'on lui envoi pour créer des événements sur un agenda.

Pour aller plus dans les détails:
L'agenda en question est un plugin de owncloud. Mon supérieur veut que les événements qu'il créer/édit/supprime sur sa boite mail (par exemple outlook) ou autre, puissent être envoyés à une adresse spécifique afin qu'un script puisse récupérer les données de créations/d'édition/de délétion et fasse les modifications nécessaires sur l'agenda correspondant de owncloud.

Actuellement je n'ai aucune idée de comment m'y prendre, j'ai déjà touché un peu au PHP pour faire un parsing de fichier texte et le sortir en CSV, le traitement une fois les données récupérées je pense que ça je pourrai le faire sans assistance, et l'ajout sur owncloud ça je le trouverai surement dans la doc.
C'est la partie réception et lecture sur une adresse mail que je n'arrive pas vraiment à concevoir comment je dois m'y prendre, si quelqu'un peut m'éclaircir un peu.

Mammouth du PHP | 688 Messages

06 oct. 2016, 20:13

un petit tour sur la doc et l'on a un exemple :
http://php.net/manual/en/function.imap-body.php

Eléphanteau du PHP | 40 Messages

10 oct. 2016, 10:02

un petit tour sur la doc et l'on a un exemple :
http://php.net/manual/en/function.imap-body.php
Merci, je vais essayer avec ça, je suis pas tout à fait sûr de son fonctionnement mais je finirai bien par trouver :D

Eléphanteau du PHP | 40 Messages

13 oct. 2016, 10:32

Petit up, j'essais d'ouvrir un stream sur une boite mail mais mon php me dit ne pas reconnaître la fonction imap_open(), pourtant je suis en version 7.0.8 et c'est censé être supporté par php 7
http://php.net/manual/en/function.imap-open.php

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 oct. 2016, 13:03

salut,

oui c'est supporté par contre il faut que l'extension soit active, ce n'est pas le cas par défaut.
Pour cela ouvre ton php.ini et enlève le point virgule en début de la ligne ;extension=php_imap.dll puis redémarre le serveur web.
tu pourras voir l'extension dans un phpinfo();

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 40 Messages

13 oct. 2016, 14:42

salut,

oui c'est supporté par contre il faut que l'extension soit active, ce n'est pas le cas par défaut.
Pour cela ouvre ton php.ini et enlève le point virgule en début de la ligne ;extension=php_imap.dll puis redémarre le serveur web.
tu pourras voir l'extension dans un phpinfo();

@+
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_imap.dll' - /usr/lib/php/20151012/php_imap.dll: cannot open shared object file: No such file or directory in Unknown on line 0

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 oct. 2016, 14:59

O_o tu va quand même pas me dire que as pas "su" adapter un peu ?

les ddl c'est windows, donc sur autre chose ça ne fonctionne pas.

par exemple pour debian il y a
- stable : https://packages.debian.org/stable/php/php5-imap
- testing https://packages.debian.org/testing/php/php-imap (php7)

pour redhat : https://www.rpmfind.net/linux/rpm2html/ ... y=php-imap

bref installe le bon paquet pour ta distrib et ça ira ;)

edit : pour mac je sais pas faire, j'ai même pas cherché mais je suis certain que ça se trouve ;)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 40 Messages

13 oct. 2016, 16:41

O_o tu va quand même pas me dire que as pas "su" adapter un peu ?
Mon cerveau a bugué chef

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 oct. 2016, 17:05

ben t'as un serveur linux / unix et essai d'utiliser une ddl windows. Il y a des solutions pour cela masi je ne pense pas que ce soit une solution souhaité pour un serveur (dev ou pas).

du coup il te faut un .so (qui sera fournit par le paquet installé par le gestionnaire de paquet de ta distrib).

il faut adapter les réponses faites, la plus part des personnes utilisent windows je m'adapte et fournit les réponses général pour windows.

Les personnes utilisants une distrib linux et qui font du dev savent généralement qu'une dll c'est pas natif sur du linux / unix.

bref faut digérer les réponses et adapter à son cas :-)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 40 Messages

14 oct. 2016, 09:38

Non non mais je le savais j'ai juste bugué sur le moment xD