Hello, oui j'y ai penséOk content pour toi !
Edit: J'y pense , j'espère que tu as pensé à renseigner le "sujet", dans le script il inscrit "sujet" c'est pas très original ...
Re,Ok
Je reste à dispo si besoin !
Bye
Oki top, non pas de pièce jointe uniquement du texte.Tu peux effectivement mettre un délai entre chaque envoi, je ne suis pas convaincu que cela empêche le problème, mais rien n'empêche d'essayer. Les mails sont envoyés quand même ? . y a t'il des pièces jointes ou juste ton texte?
Pour mettre un délai il faut ajouter une ligne, juste après les lignes" Send newmessage" et "set nbmessage to nbmessage + 1 --compte le nombre de message envoyé" , tu ajoutes : "delay x" (x en secondes)
Hello, petite remontée, le script porte ses fruits. En revanche petite problématique au niveau de Mail Mac au bout d'un moment les envois se stoppent et reste dans la boite d'envoi. Penses tu qu'il y a une solution à cette problématique ?Donc un délai ne servira à rien, sinon que au lieu que ce soit l'appli mail qui attende, ce sera le script qui attendra !...
Bonjour,
Lorsque mail bloque, il y a combien de mails dans la boite d'envoi ?
Je vois 3 possibilités (à tester !)
1 - Programmer l'envoi des mails par plus petits paquets (par exemple 5 vagues de 10 mails) chaque vagues espacée de xx minutes xx en fonction de la vitesse d'envoi de mail (dépend de la machine et de la connexion) là faut faire des essais pour déterminer la bonne cadence.
2 - Dans le programme mettre un délai entre chaque envoi de mail (idem délai à déterminer en fonction de la vitesse d'envoi).
3- Dans le programme, attendre avant d' envoyer le mail suivant que la boite d'envoi soit vide (cette solution va allonger le temps des envois). En effet le test de vérification du contenu de la boite d'envoi va tourner en boucle et ralentir l'exécution.
Je n'ai testé aucune de ces solutions ! (d'autant que je n'utilise pas mail, mais outlook)
tell newMessage
                    set toaddresslist to {lemail} -- prépare l'adressed'envoi
                    make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail
                   
                    --Ajout pièces jointes
                    set PieceJointe_list to {"Macintosh HD:Users:Nom_utilisateur:desktop:mapiecejointe 1.pdf"} & {"Macintosh HD:Users:Nom_utilisateur:desktop:mapiecejointe 1.pdf"}
                    repeat with nbpj from 1 to count PieceJointe_list
                        set mapj to item nbpj of PieceJointe_list as alias
                        tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph
                    end repeat
                    --Fin de l'ajout
                   
                end tell
               
                send newMessage
                set nbmessage to nbmessage + 1 --compte le nombre de message envoyé
            end tellHello,Bonjour,
Normalement pas de problème pour joindre 1 ou plusieurs pièces jointes.
Il suffit de l'ajouter avant l'envoi.
Je te joins l' ajout à faire dans le bloc "tell newMessage", j'ai mis dans l'exemple pour 2 pièces jointes.
Il faudra adapter les adresses de ces documents !
Dans le code j'ai englobé une partie du code existant.
Merci d'avance pour ton retour...
Bloc de code:tell newMessage set toaddresslist to {lemail} -- prépare l'adressed'envoi make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail --Ajout pièces jointes set PieceJointe_list to {"Macintosh HD:Users:Nom_utilisateur:desktop:mapiecejointe 1.pdf"} & {"Macintosh HD:Users:Nom_utilisateur:desktop:mapiecejointe 1.pdf"} repeat with nbpj from 1 to count PieceJointe_list set mapj to item nbpj of PieceJointe_list as alias tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph end repeat --Fin de l'ajout end tell send newMessage set nbmessage to nbmessage + 1 --compte le nombre de message envoyé end tell
tell application "Finder"
    set chemin to ((path to home folder) & "documents:script mail:liste.numbers") as string
    open chemin
    activate
    delay 3
end tell
tell application "Numbers"
    tell table 1 of sheet 1 of document "liste.numbers" -- voir document numbers
        set CR to (ASCII character 13) -- initialise un retour ligne
        set blabla to value of cell "B1" -- récupère le texte de la cellule E1
        set leslignes to 2 -- initialise le numéro de la première ligne des clients
        set nbmessage to 0
        
        
        repeat
            if nbmessage = 50 then exit repeat -- stop si 50 messages
            repeat
                set celtest to "B" & leslignes as string
                set letest to value of cell celtest -- controle si mail déja envoyé
                if letest = "X" then
                    set leslignes to leslignes + 1
                else
                    exit repeat
                end if
            end repeat
            
            set celmail to "A" & leslignes as string
            
            
            set lemail to value of cell celmail as string -- recupère le nom
            if lemail = "missing value" then -- vérifie si la derniere ligne
                exit repeat
            end if
            
            
            tell application "Mail"
                set contenu to "Bonjour, " & CR & CR & blabla -- prépare le contenu du mail
                
                set newMessage to make new outgoing message with properties {subject:"test", content:contenu} -- prépare le mail
                
                
                tell newMessage
                    set toaddresslist to {lemail} -- prépare l'adressed'envoi
                    make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail
                    
                    --Ajout pièces jointes
                    set PieceJointe_list to {"documents:script mail:presentation.pdf"}
                    repeat with nbpj from 1 to count PieceJointe_list
                        set mapj to item nbpj of PieceJointe_list as alias
                        tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph
                    end repeat
                    --Fin de l'ajout
                    
                end tell
                
                send newMessage
                set nbmessage to nbmessage + 1 --compte le nombre de message envoyé
            end tell
            tell application "Numbers"
                tell table 1 of sheet 1 of document "liste.numbers"
                    set value of cell celtest to "X" -- renseigne numbers mail envoyé
                end tell
            end tell
            set leslignes to leslignes + 1 -- prépare numéro ligne suivante
        end repeat
    end tell
    save front document
    quit
end tell{"Macintosh HD:Users:Nom_utilisateur:documents:script mail:presentation.pdf"} --Ajout pièces jointes
                   set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf")
                    set PieceJointe_list to {cheminPJ}
                    repeat with nbpj from 1 to count PieceJointe_list
                        set mapj to item nbpj of PieceJointe_list as alias
                        tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph
                    end repeat
                    --Fin de l'ajoutMerci j'ai effectué la modification, donc le mail par correctement mais il n'y a pas la PJ.Bonjour,
Le message signale qu'il ne trouve pas le fichier à cette adresse.
Il faut le chemin complet du fichier du genre:
Bloc de code:{"Macintosh HD:Users:Nom_utilisateur:documents:script mail:presentation.pdf"}
en remplacant: Macintosh HD par le nom de ton disque dur et Nom_utilisateur par le tiens.
tu peux aussi définir le chemin de la P.J. dans une variable.
Bloc de code:--Ajout pièces jointes set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") set PieceJointe_list to {cheminPJ} repeat with nbpj from 1 to count PieceJointe_list set mapj to item nbpj of PieceJointe_list as alias tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph end repeat --Fin de l'ajout
--Ajout pièces jointes
            tell application "Finder"
                set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") as string
            end tell
            set PieceJointe_list to {cheminPJ}
            repeat with nbpj from 1 to count PieceJointe_list
               
                set mapj to item nbpj of PieceJointe_list as alias
                tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph
            end repeat
            --Fin de l'ajoutHello, toujours le même problème. Dans le mail il n'y a pas la PJ et aucun message d'erreur.Le chemin n'est pas bon avec le nouveau script il faut le prendre dans un bloc tell finder! (erreur de ma part!)
Essai avec ce bloc!
Bloc de code:--Ajout pièces jointes tell application "Finder" set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") as string end tell set PieceJointe_list to {cheminPJ} repeat with nbpj from 1 to count PieceJointe_list set mapj to item nbpj of PieceJointe_list as alias tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph end repeat --Fin de l'ajout
Dis moi si c'est bon !
Voila le code :Chez moi je viens de tester, ça fonctionne ! ?
ton fichier s'appelle bien "presentation.pdf" et il est bien au même endroit que ton fichier numbers ?
met ton code complet , que je puisse analyser ...?
tell application "Finder"
    set chemin to ((path to home folder) & "documents:script mail:liste.numbers") as string
    open chemin
    activate
    delay 3
end tell
tell application "Numbers"
    tell table 1 of sheet 1 of document "liste.numbers" -- voir document numbers
        set CR to (ASCII character 13) -- initialise un retour ligne
        set blabla to value of cell "B1" -- récupère le texte de la cellule E1
        set leslignes to 2 -- initialise le numéro de la première ligne des clients
        set nbmessage to 0
        
        
        repeat
            if nbmessage = 50 then exit repeat -- stop si 50 messages
            repeat
                set celtest to "B" & leslignes as string
                set letest to value of cell celtest -- controle si mail déja envoyé
                if letest = "X" then
                    set leslignes to leslignes + 1
                else
                    exit repeat
                end if
            end repeat
            
            set celmail to "A" & leslignes as string
            
            
            set lemail to value of cell celmail as string -- recupère le nom
            if lemail = "missing value" then -- vérifie si la derniere ligne
                exit repeat
            end if
            
            
            tell application "Mail"
                set contenu to "Bonjour, " & CR & CR & blabla -- prépare le contenu du mail
                
                set newMessage to make new outgoing message with properties {subject:"test", content:contenu} -- prépare le mail
                
                
                tell newMessage
                    set toaddresslist to {lemail} -- prépare l'adressed'envoi
                    make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail
                    
                    --Ajout pièces jointes
                    tell application "Finder"
                        set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") as string
                    end tell
                    set PieceJointe_list to {cheminPJ}
                    repeat with nbpj from 1 to count PieceJointe_list
                        
                        set mapj to item nbpj of PieceJointe_list as alias
                        tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph
                    end repeat
                    --Fin de l'ajout
                    
                end tell
                
                send newMessage
                set nbmessage to nbmessage + 1 --compte le nombre de message envoyé
            end tell
            tell application "Numbers"
                tell table 1 of sheet 1 of document "liste.numbers"
                    set value of cell celtest to "X" -- renseigne numbers mail envoyé
                end tell
            end tell
            set leslignes to leslignes + 1 -- prépare numéro ligne suivante
        end repeat
    end tell
    save front document
    quit
end telltell application "Finder"
    set chemin to ((path to home folder) & "documents:script mail:liste.numbers") as string
    open chemin
    activate
    delay 3
end tell
tell application "Numbers"
    set lafeuille to 1
    set CR to (ASCII character 13) -- initialise un retour ligne
    set nbmessage to 0
    set leslignes to 2 -- initialise le numéro de la première ligne des clients
    set lasuite to 1
    repeat
        tell table 1 of sheet lafeuille of document "liste.numbers" -- voir document numbers
            set blabla to value of cell "B1" -- récupère le texte de la cellule E1
            set leslignes to 2 -- initialise le numéro de la première ligne des clients
        end tell
        
        
        if nbmessage = 50 then exit repeat -- stop si 50 messages
        
        tell table 1 of sheet lasuite of document "liste.numbers" -- voir document numbers
            
            repeat
                set celtest to "B" & leslignes as string
                set letest to value of cell celtest -- controle si mail déja envoyé
                if letest = "X" then
                    set leslignes to leslignes + 1
                else
                    exit repeat
                end if
            end repeat
            
            set celmail to "A" & leslignes as string
            set celsuite to "A" & (leslignes + 1) as string
            set suite to value of cell celsuite
            
            set lemail to value of cell celmail as string -- recupère le nom
            if lemail = "missing value" then -- vérifie si la derniere ligne
                exit repeat
            end if
        end tell
        
        tell application "Mail"
            set contenu to "Bonjour, " & CR & CR & blabla -- prépare le contenu du mail
            
            set newMessage to make new outgoing message with properties {subject:"test", content:contenu} -- prépare le mail
            
            
            tell newMessage
                set toaddresslist to {lemail} -- prépare l'adressed'envoi
                make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail
                
                --Ajout pièces jointes
                tell application "Finder"
                    set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") as string
                end tell
                set PieceJointe_list to {cheminPJ}
                repeat with nbpj from 1 to count PieceJointe_list
                    
                    set mapj to item nbpj of PieceJointe_list as alias
                    tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph
                end repeat
                
            end tell
            
            send newMessage
            set nbmessage to nbmessage + 1 --compte le nombre de message envoyé
        end tell
        tell application "Numbers"
            tell table 1 of sheet lasuite of document "liste.numbers"
                set value of cell celtest to "X" -- renseigne numbers mail envoyé
                
                if suite = "fin" then
                    set lasuite to lasuite + 1
                    set leslignes to 1
                end if
                
            end tell
        end tell
        set leslignes to leslignes + 1 -- prépare numéro ligne suivante
    end repeat
    
    save front document
    quit
end tellje viens d'essayer avec ton script et même soucis la PJ n'est pas prise en compte.Je te remets le script a moi complet, qui fonctionne chez moi.
Ton script ci-dessus fonctionne également chez moi (non compris la gestion de plusieurs feuilles)
Bloc de code:tell application "Finder" set chemin to ((path to home folder) & "documents:script mail:liste.numbers") as string open chemin activate delay 3 end tell tell application "Numbers" set lafeuille to 1 set CR to (ASCII character 13) -- initialise un retour ligne set nbmessage to 0 set leslignes to 2 -- initialise le numéro de la première ligne des clients set lasuite to 1 repeat tell table 1 of sheet lafeuille of document "liste.numbers" -- voir document numbers set blabla to value of cell "B1" -- récupère le texte de la cellule E1 set leslignes to 2 -- initialise le numéro de la première ligne des clients end tell if nbmessage = 50 then exit repeat -- stop si 50 messages tell table 1 of sheet lasuite of document "liste.numbers" -- voir document numbers repeat set celtest to "B" & leslignes as string set letest to value of cell celtest -- controle si mail déja envoyé if letest = "X" then set leslignes to leslignes + 1 else exit repeat end if end repeat set celmail to "A" & leslignes as string set celsuite to "A" & (leslignes + 1) as string set suite to value of cell celsuite set lemail to value of cell celmail as string -- recupère le nom if lemail = "missing value" then -- vérifie si la derniere ligne exit repeat end if end tell tell application "Mail" set contenu to "Bonjour, " & CR & CR & blabla -- prépare le contenu du mail set newMessage to make new outgoing message with properties {subject:"test", content:contenu} -- prépare le mail tell newMessage set toaddresslist to {lemail} -- prépare l'adressed'envoi make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail --Ajout pièces jointes tell application "Finder" set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") as string end tell set PieceJointe_list to {cheminPJ} repeat with nbpj from 1 to count PieceJointe_list set mapj to item nbpj of PieceJointe_list as alias tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph end repeat end tell send newMessage set nbmessage to nbmessage + 1 --compte le nombre de message envoyé end tell tell application "Numbers" tell table 1 of sheet lasuite of document "liste.numbers" set value of cell celtest to "X" -- renseigne numbers mail envoyé if suite = "fin" then set lasuite to lasuite + 1 set leslignes to 1 end if end tell end tell set leslignes to leslignes + 1 -- prépare numéro ligne suivante end repeat save front document quit end tell
 
	