IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Programmation d'envoi de mail


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2024
    Messages : 6
    Par défaut Programmation d'envoi de mail
    Bonjour,

    Dans une démarche d'automatisation de nos systèmes, je recherche Ã* programmer l'envoi de mails via Google sheets sous certaines conditions.

    Je dispose d'un fichier Google Sheets qui représente un planning de disponibilité (selon le jour et une personne).
    Ce que je souhaite, c'est que mon programme parcours le calendrier de ce fichier et identifie pour la semaine suivante si aucune case "Sur place" n'est présente. Si cela est bien le cas, un mail doit être envoyé (préférence en début de semaine) pour faire un rappel auprès des collaborateurs.
    Après diverses recherches, j'ai commencé un semblant de programmation sur Apps Script afin de faire une macro sur mon fichier sheets.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    /** @OnlyCurrentDoc */
    function sendEmails(){
      var feuille1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SAL");
      var feuille2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Mails");
      var planning24 = feuille1.getRange("D136:K366").getValue();
      //La plage D136:K366 correspond Ã* l'ensemble des jours concernés par le projet.
     
     
        if (planning24!=='Sur place'){
          var adresseMail = feuille2.getRange("C2:C9").getValue();
          var objet = 'Rappel : Visite sécurité SAL';
          var corps = "Bonjour. Actuellement, aucune visite sécurité n'est prévue sur SAL pour la semaine qui vient. Merci de vérifier le planning et de vous y ajouter en cas de disponibilité." ;
          MailApp.sendEmail(adresseMail, objet, corps);
        }
      }
    Ma "feuille1" correspond Ã* mon planning et ma "feuille2" correspond au listing des mails destinataires.

    C'est une première ébauche mais je ne l'ai encore pas mis Ã* exécution car je suppose plusieurs problèmes Ã* ma programmation :
    • J'ai peur que le programme envoie un mail toutes les semaine et ce même si 'Sur place' est présent dans le tableau
    • Je pense que la programmation du déclencheur selon l'agenda Google pour chaque lundi entre 7h et 8h n'est pas correct car cela ne se basera pas sur la feuille de calcul (tableau). Peut-être existe-t-il une fonction "date" reprenant l'horodateur de la feuille sheets ?
    • J'ai l'impression qu'avec cette programmation, je devrais faire un bloc de programmation par semaine (soit une cinquantaine)


    Si je devais traduire "vulgairement" en code ce que je souhaite réaliser, voici ce que cela donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Pour une certaine plage de donnée du tableau ;
        Pour chaque période de 7 jours du tableau ;
            Si aucune case n'est égale Ã* 'Sur place' ;
                Envoyer un mail Ã* la liste de diffusion le lundi Ã* 8h;
            Fin Si 
        Fin Pour
    Fin Pour
    Auriez-vous des pistes de réponses me permettant de remplir mon cahier des charges ?

    Je reste disponible pour apporter davantage de précision sur ce projet,

    Cordialement

  2. #2
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 486
    Billets dans le blog
    5
    Par défaut
    Pour commencer, attention à l'encodage.

    De plus, il faut utiser la balise "code" pour le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public MaClasse{
    //Du code
     
    }
    Pour le fond, je te recommande d'utiliser Java Mail qui est devenu depuis Jakarta mail:
    https://mvnrepository.com/artifact/j...mail-api/2.1.3

    Tutoriel et doc:
    https://www.baeldung.com/java-email
    https://jakarta.ee/specifications/ma...-mail-spec-2.0


    Doudoux (Epoque Javamail):
    https://jmdoudoux.developpez.com/cou...l.php#javamail

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2024
    Messages : 6
    Par défaut
    Bonjour,

    Pour l'encodage, je n'ai pas fait de capture d'écran et je n'ai pas inséré de fenêtre de lignes de code (je ne sais pas comment faire sur ce forum). Mais les alinéas sont bien présents dans le programme originel que j'ai écrit cependant.
    Je vais mettre l'ensemble de mon code sous "public", merci.
    Je vous remercie pour la proposition d'application. En revanche, ce n'est pas une application que je peux utiliser car il s'agit de Apps Script qui est relié à Google Sheets directement via la suite Google. Jakarta mail ne me permettra pas de manipuler les données de mon tableau Google malheureusement.

    Existerait-il une autre alternative ?
    Je précise également que je ne suis pas programmateur ou informaticien de formation. Je n'ai que des notions de base dans la plupart des langages de programmation. Une solution simple pour ce sujet que je pourrais transmettre à ma société me correspondrait plus.

    Encore merci d'avance,

  4. #4
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 486
    Billets dans le blog
    5
    Par défaut
    Ici, c'est le forum Java ...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2024
    Messages : 6
    Par défaut
    Oui je suis d'accord, c'est pour cela que je suis venu ici car l'application Apps Script permet de coder en Java.

  6. #6
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 486
    Billets dans le blog
    5
    Par défaut
    Dans ce cas là, il ne faut surtout pas utiliser l'anti-pattern "Réinventer la roue (carrée)" et se baser sur un jar existant qui fait ça très bien.

    Si il y a des problèmes de script après, on peut ajouter les jar dans le classpath.

    Mais c'est un autre problème.

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/11/2015, 21h25
  2. Programmer des envois de mails
    Par PC1967 dans le forum Lotus Notes
    Réponses: 2
    Dernier message: 25/12/2013, 01h32
  3. Programmation système : envoi de mails à un serveur
    Par thiata86 dans le forum Débuter
    Réponses: 2
    Dernier message: 24/07/2013, 09h18
  4. programmé un envoi de mail avec lotus notes
    Par bomonde dans le forum Exchange Server
    Réponses: 0
    Dernier message: 22/11/2012, 11h09
  5. Programme : automatiser l'envoi de mail-Outlook
    Par ellewided dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/08/2009, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo