Envoyer un fichier vers un dossier sur mon hébergement

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Envoyer un fichier vers un dossier sur mon hébergement

    Bonjour à tous,
    Connaissez vous un moyen pour envoyer par mail (ou SMS) un simple fichier texte ou une image qui s'enregistrerait directement (automatiquement) dans un dossier spécifique de mon hébergement ?
    J'ai du mal à imaginer la démarche, mais sait-on jamais?
    N'oubliez pas de passer vos post en "réglé" c'est très utile à celui qui cherche, ...et qui se perd http://forum.joomla.fr/announcement.php?f=133 mais trouvera grâce à vous

  • #2
    Bonjour,

    J'ai trouvé une doc qui peut t'aider : https://blog.luxifer.fr/2012/01/05/r...-php-via-imap/

    Reste à l'adapter pour en faire un plugin de type task. oir https://magazine.joomla.org/all-issu...task-scheduler

    Pascal
    lomart et abmag aiment ceci.
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Merci C'est tout à fait le type de code que je cherchais. Maintenant mes connaissances en PHP, en 10 d'inutilisation ont bien fondues mais c'est un très bon départ.
      Je ne passe pas en résolu car je suis loin d'avoir mis en route ce code et reste encore la question des SMS mais qui me semble plus complexe voir irréaliste. (>
      N'oubliez pas de passer vos post en "réglé" c'est très utile à celui qui cherche, ...et qui se perd http://forum.joomla.fr/announcement.php?f=133 mais trouvera grâce à vous

      Commentaire


      • #4
        La récupération des SMS passe par des services payants pouvant grimper vite, si vous recevez plein des SMS.
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          Merci Pascal, J'en étais là également. La question pour les SMS correspond à la demande de navigateurs (à la voile) qui m'avait demandé la possibilité de récupérer des messages envoyés par Irridium (par exemple) afin de donner de leurs nouvelles en grandes traversées (sur leur blog par exemple). Les SMS reviennent à moins cher dans ce cas que les datas par internet. Je pense que je vais laisser tomber ce côté la de l'affaire, trop cher et trop complexe pour moi à mettre en oeuvre et de plus il existe déjà des services spécialisés dans ce genre de communication
          N'oubliez pas de passer vos post en "réglé" c'est très utile à celui qui cherche, ...et qui se perd http://forum.joomla.fr/announcement.php?f=133 mais trouvera grâce à vous

          Commentaire


          • #6
            ce que tu souhaites : enoyer un sms à un numéro et le sms ou son contenu est renvoyé sur un dossier de ton site joomla.
            C'est possible si tu passe par asterisk pour la récéption du sms et un script shell pour l'envoyer sur ton site.. Autrement dit, il faut utiliser un numéro et un compte sip.

            Pour ce qui est de l'envoi par email, tout depend si tu gère le domaine et le service de messagerie.
            Si c est le cas, c est possible de scripter cela sinon, faut poser la question à l'hébéreur de messagerie.
            Moi ce serait possible car j ai la main sur mon serveur postfix. pour exchange, il faudras un script powershell qui scanne les mails à larrivée et qui agit ensuite en fonction
            Un site pour comparer des solutions : https://comparatifs-informaticien51.joomla.com
            un site personnel, sur Joomla, linux, windows et Powershell : https://informaticien51.joomla.com/

            Commentaire


            • #7
              Envoyé par lefabdu51 Voir le message
              ce que tu souhaites : enoyer un sms à un numéro et le sms ou son contenu est renvoyé sur un dossier de ton site joomla.
              C'est possible si tu passe par asterisk pour la récéption du sms et un script shell pour l'envoyer sur ton site.. Autrement dit, il faut utiliser un numéro et un compte sip.
              ........
              Merci pour cette réponse , Je complète le dossier avant de passer à l'action

              N'oubliez pas de passer vos post en "réglé" c'est très utile à celui qui cherche, ...et qui se perd http://forum.joomla.fr/announcement.php?f=133 mais trouvera grâce à vous

              Commentaire


              • #8
                Attention, les compétences demandées sortent du cadre du développent web et sont des compétences d administrateur réseau.
                Asterisk est ce que l'on appelle un ip pbx, c est a dire un logiciel qui va remplacer les standards éléctronique (et cablés) des entreprises....
                Un site pour comparer des solutions : https://comparatifs-informaticien51.joomla.com
                un site personnel, sur Joomla, linux, windows et Powershell : https://informaticien51.joomla.com/

                Commentaire


                • #9
                  bon ben alors c'est pas gagné
                  N'oubliez pas de passer vos post en "réglé" c'est très utile à celui qui cherche, ...et qui se perd http://forum.joomla.fr/announcement.php?f=133 mais trouvera grâce à vous

                  Commentaire


                  • #10
                    Première étape OK Les messages s'enregistrent bien dans le dossier désiré en voici le code de base

                    Code PHP:
                    <?php
                    //ouvre inbox pour traitement
                    $server="{imap.server.fr:143/tls}INBOX"// voir https://fr.php.net/imap_open
                    $username="nom@utilisateur"//imap login
                    $password="password"//imap password

                    $imap imap_open($server$username$password) or die("imap connection error");
                    $message_count imap_num_msg($imap);
                    for (
                    $m 1$m <= $message_count; ++$m)
                    {
                    $header imap_headerinfo($imap$m);
                    //print_r($header);

                    $email[$m]['from'] = $header->from[0]->mailbox.'@'.$header->from[0]->host;
                    $email[$m]['fromaddress'] = $header->from[0]->personal;
                    $email[$m]['to'] = $header->to[0]->mailbox;
                    $email[$m]['subject'] = $header->subject;
                    $email[$m]['message_id'] = $header->message_id;
                    $email[$m]['date'] = $header->udate;

                    $from $email[$m]['fromaddress'];
                    $from_email $email[$m]['from'];
                    $to $email[$m]['to'];
                    $subject $email[$m]['subject'];

                    $structure imap_fetchstructure($imap$m);

                    $attachments = array();
                    if(isset(
                    $structure->parts) && count($structure->parts)) {

                    for(
                    $i 0$i count($structure->parts); $i++) {

                    $attachments[$i] = array(
                    'is_attachment' => false,
                    'filename' => '',
                    'name' => '',
                    'attachment' => ''
                    );

                    if(
                    $structure->parts[$i]->ifdparameters) {
                    foreach(
                    $structure->parts[$i]->dparameters as $object) {
                    if(
                    strtolower($object->attribute) == 'filename') {
                    $attachments[$i]['is_attachment'] = true;
                    $attachments[$i]['filename'] = $object->value;
                    }
                    }
                    }

                    if(
                    $structure->parts[$i]->ifparameters) {
                    foreach(
                    $structure->parts[$i]->parameters as $object) {
                    if(
                    strtolower($object->attribute) == 'name') {
                    $attachments[$i]['is_attachment'] = true;
                    $attachments[$i]['name'] = $object->value;
                    }
                    }
                    }

                    if(
                    $attachments[$i]['is_attachment']) {
                    $attachments[$i]['attachment'] = imap_fetchbody($imap$m$i+1);
                    if(
                    $structure->parts[$i]->encoding == 3) { // 3 = BASE64
                    $attachments[$i]['attachment'] = base64_decode($attachments[$i]['attachment']);
                    }
                    elseif(
                    $structure->parts[$i]->encoding == 4) { // 4 = QUOTED-PRINTABLE
                    $attachments[$i]['attachment'] = quoted_printable_decode($attachments[$i]['attachment']);
                    }
                    }
                    }
                    }

                    foreach (
                    $attachments as $key => $attachment) {
                    $name $attachment['name'];
                    $contents $attachment['attachment'];
                    }
                    echo 
                    $from_email '</br>';
                    echo 
                    $to '</br>';
                    echo 
                    $subject '</br>';
                    echo 
                    $name '</br>';

                    file_put_contents($name$contents); //enregistre une pièce jointe dans le dossier couranrant
                    }

                    $check imap_mailboxmsginfo($imap);
                    echo 
                    "Nombre de messages avant effacement : " $check->Nmsgs "<br />\n";

                    //efface le message de la mailbox

                    imap_delete($imap1);
                    $check imap_mailboxmsginfo($imap);
                    echo 
                    "Nombre de messages après effacement : " $check->Nmsgs "<br />\n";

                    imap_expunge($imap,);
                    $check imap_mailboxmsginfo($imap);
                    echo 
                    "Nombre de messages après imap_expunge : " $check->Nmsgs "<br />\n";

                    $check imap_mailboxmsginfo($imap);
                    echo 
                    "Nombre de messages avant effacement : " $check->Nmsgs "<br />\n";

                    imap_delete($imap1);
                    $check imap_mailboxmsginfo($imap);
                    echo 
                    "Nombre de messages après effacement : " $check->Nmsgs "<br />\n";

                    imap_expunge($imap,);
                    $check imap_mailboxmsginfo($imap);
                    echo 
                    "Nombre de messages après imap_expunge : " $check->Nmsgs "<br />\n";

                    imap_close($imap);
                    ?>
                    Je vais en commencer l'intégration et ouvrir un nouveau fil dans développement car je vais avoir besoin d'aide je crois
                    Dernière édition par abmag à 23/05/2022, 15h17
                    N'oubliez pas de passer vos post en "réglé" c'est très utile à celui qui cherche, ...et qui se perd http://forum.joomla.fr/announcement.php?f=133 mais trouvera grâce à vous

                    Commentaire

                    Annonce

                    Réduire
                    1 sur 2 < >

                    C'est [Réglé] et on n'en parle plus ?

                    A quoi ça sert ?
                    La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                    Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                    Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                    Comment ajouter la mention [Réglé] à votre discussion ?
                    1 - Aller sur votre discussion et éditer votre premier message :


                    2 - Cliquer sur la liste déroulante Préfixe.

                    3 - Choisir le préfixe [Réglé].


                    4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                    2 sur 2 < >

                    Assistance au forum - Outil de publication d'infos de votre site

                    Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                    Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                    Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                    UTILISER À VOS PROPRES RISQUES :
                    L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                    Problèmes connus :
                    FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                    Installation :

                    1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                    Archive zip : https://github.com/AFUJ/FPA/zipball/master

                    2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                    3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                    4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                    5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                    6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                    et remplacer www. votresite .com par votre nom de domaine


                    Exemples:
                    Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/
                    Pour executer le script: http://www..com/fpa-fr.php

                    Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/cms/
                    Pour executer le script: http://www..com/cms/fpa-fr.php

                    En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                    Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                    Voir plus
                    Voir moins

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X