[Résolu][Calc] Envoyer un courriel en copie cachée

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
Carol
Membre OOrganisé
Membre OOrganisé
Messages : 96
Inscription : 10 sept. 2007 07:16

[Résolu][Calc] Envoyer un courriel en copie cachée

Message par Carol »


La modération vous a écrit: Un mail est une allée arborée en français. Veillez à titrer correctement sans l'usage abusif de majuscules.
Un titre explicite n'est pas pour vous mais pour ceux effectuant des recherches dans ce forum.

Bonjour.

Code : Tout sélectionner

rem envoi du message
eMailAddress = ""
entete = "Compte-rendu de " + nom
eSubject = entete
eMailer = createUnoService("com.sun.star.system.SimpleSystemMail")
eMailClient = eMailer.querySimpleMailClient()
eMessage = eMailClient.createSimpleMailMessage()
eMessage.Recipient = eMailAddress
***
eMessage.Subject = eSubject
J'utilise ce code pour envoyer des mails depuis mon appli et cela fonctionne parfaitement.

J'ai besoin de faire un envoi en copie cachée, et je n'y parviens pas.
Là où se trouve ***, j'ai essayé :
eMessage.BccRecipient = "tata@toto.fr" ---> Variable d'objet non définie
et
eMessage.BcRecipient = "tata@toto.fr" ---> Propriété ou méthode non trouvée

Je suis allé ici http://www.openoffice.org/api/docs/comm ... mMail.html pour chercher des références, mais je tombe sur une page d'erreur..

Donc, je sèche...

Merci pour votre aide
Dernière modification par Carol le 30 oct. 2025 18:09, modifié 1 fois.
LibreOffice Version 25.8.1.1 - Linux Mint 22.2 - Win 10 Pro
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10096
Inscription : 28 août 2010 08:45

Re: [Calc]Envoyer un mail en copie CACHEE

Message par micmac »

Bonjour,
Dans votre signature il y a écrit : ibreOffice Version 24.2.7.2
Cette version n'est plus maintenue.
Si c'est une obligation ou un choix mentionnez-le par Obligation de version dans votre signature afin de ne pas être relancé.

Afin de profiter des dernières améliorations, pensez à être à jour de la dernière version officielle

Accès direct à votre signature pour la corriger.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
Carol
Membre OOrganisé
Membre OOrganisé
Messages : 96
Inscription : 10 sept. 2007 07:16

Re: [Calc]Envoyer un mail en copie CACHEE

Message par Carol »

Fait

https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1system_1_1XSimpleMailMessage.html

la fonction semble bien exister et se noter BccRecipient...

Je viens d'essayer :
eMessage.setBccRecipient("tata@toto.fr") qui ne fonctionne pas.
LibreOffice Version 25.8.1.1 - Linux Mint 22.2 - Win 10 Pro
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1194
Inscription : 19 août 2018 05:20

Re: [Calc]Envoyer un mail en copie CACHEE

Message par Dolev »

Bonjour,

Le suprême de code fonctionne chez moi : viewtopic.php?t=39844
Vérifiez avec Xray les paramètres qui doivent être passés par array()


PS : la page de l'API est https://www.openoffice.org/api/docs/com ... vider.html
Open Office 4.1.16 sous Windows 11
Avatar de l’utilisateur
Carol
Membre OOrganisé
Membre OOrganisé
Messages : 96
Inscription : 10 sept. 2007 07:16

Re: [Calc] Envoyer un courriel en copie cachée

Message par Carol »

Code : Tout sélectionner

    Sub OldMethode
    Dim Messagerie As Object, Client As Object, Courrier As Object
    	If GetGUIType = 1 Then
    		Messagerie = CreateUnoService("com.sun.star.system.SimpleSystemMail")'version Windows Aoo3/Libo3 & LibO4
    	Else
    		Messagerie = CreateUnoService("com.sun.star.system.SimpleCommandMail")'Version Linux Aoo3/LibO3 & LibO4
    		Client = Messagerie.querySimpleMailClient()
     		Courrier = Client.createSimpleMailMessage()
    	
    		Courrier.Subject = "Test LibO4 et SystemMailProvider"'Sujet	
    		Courrier.Recipient = "Leochopoto@wanadoo.fr"'Adresse
    		Courrier.CcRecipient = Array("EtienneDuParc@LesAccacia.fr")'CopieA
    		Courrier.BccRecipient = Array("MaxLaMenace@Tapedur.fr")'CopieA
    		Courrier.Attachement = Array("")'PcsJt()
    		Client.sendSimpleMailMessage(Courrier,0)
    	End if
    End sub

Je continue à chercher, j'ai essayé d'intégrer le code du suprême, mais je ne le comprends pas.
Vue la boucle if then else, si on est sous Windows (GUIType 1), à quel moment se fait la définition des Courrier.Subject, Courrier.Recipient et autres ???
Pour ce que je comprends de ce que je lis, elle ne se fait ici que sur un autre système que Windows...
Dolev a écrit : 30 oct. 2025 14:11 Vérifiez avec Xray les paramètres qui doivent être passés par array()
Je ne sais pas faire... :?
Dernière modification par Carol le 30 oct. 2025 17:25, modifié 1 fois.
LibreOffice Version 25.8.1.1 - Linux Mint 22.2 - Win 10 Pro
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1194
Inscription : 19 août 2018 05:20

Re: [Calc] Envoyer un courriel en copie cachée

Message par Dolev »

Carol a écrit : 30 oct. 2025 16:42à quel moment se fait la définition des Courrier.Subject, Courrier.Recipient et autres ???
Est-ce que vous utilisez Xray pour voir ce que renvoie l'objet ?
Et comme d'habitude, pourquoi ne pas fournir un document.
Open Office 4.1.16 sous Windows 11
Avatar de l’utilisateur
Carol
Membre OOrganisé
Membre OOrganisé
Messages : 96
Inscription : 10 sept. 2007 07:16

Re: [Calc] Envoyer un courriel en copie cachée

Message par Carol »

Je ne sais pas utiliser Xray.

Je ne peux pas envoyer un document, bcp trop long à anonymiser.
LibreOffice Version 25.8.1.1 - Linux Mint 22.2 - Win 10 Pro
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1194
Inscription : 19 août 2018 05:20

Re: [Calc] Envoyer un courriel en copie cachée

Message par Dolev »

Carol a écrit : 30 oct. 2025 17:26 Je ne sais pas utiliser Xray.
Le document contient des instructions d'installation.
Carol a écrit : 30 oct. 2025 17:26Je ne peux pas envoyer un document, bcp trop long à anonymiser.
:fou:
Je n'irai pas plus loin dans ce cas.
Open Office 4.1.16 sous Windows 11
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
Messages : 957
Inscription : 27 nov. 2010 00:17
Localisation : gâtine deux-sèvrienne

Re: [Calc] Envoyer un courriel en copie cachée

Message par luky-luke »

Bonjour,

Code : Tout sélectionner

    Sub OldMethode
    Dim Messagerie As Object, Client As Object, Courrier As Object
    	If GetGUIType = 1 Then
    		Messagerie = CreateUnoService("com.sun.star.system.SimpleSystemMail")'version Windows Aoo3/Libo3 & LibO4
    	Else
    		Messagerie = CreateUnoService("com.sun.star.system.SimpleCommandMail")'Version Linux Aoo3/LibO3 & LibO4
    	End if
    		Client = Messagerie.querySimpleMailClient()
     		Courrier = Client.createSimpleMailMessage()
    	
    		Courrier.Subject = "Test LibO4 et SystemMailProvider"'Sujet	
    		Courrier.Recipient = "Leochopoto@wanadoo.fr"'Adresse
    		Courrier.CcRecipient = Array("EtienneDuParc@LesAccacia.fr")'CopieA
    		Courrier.BccRecipient = Array("MaxLaMenace@Tapedur.fr")'CopieA
    		Courrier.Attachement = Array("")'PcsJt()
    		Client.sendSimpleMailMessage(Courrier,0)
 
    End sub
Cordialement
LibO 7.4.7.2 Raspberry pi (Trixie) et Libo 7.6.5.2 LinuxMint 22
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Avatar de l’utilisateur
Carol
Membre OOrganisé
Membre OOrganisé
Messages : 96
Inscription : 10 sept. 2007 07:16

Re: [Calc] Envoyer un courriel en copie cachée

Message par Carol »

C'est bien dommage.
Le code de base fonctionne sans souci, j'ai vérifié avant de poser la question que les éléments étaient bien définis dans la macro et pas ailleurs, histoire de n'avoir pas oublié une quelconque option.
Je veux simplement lui ajouter une capacité supplémentaire : si je sais envoyer un mail, je me permets de supposer qu'il ne faut pas révolutionner le code en entier pour juste envoyer un mail en copie cachée.
L'outil sur lequel je travaille pour le boulot contient des tas et des tas d'informations. La dernière fois que je l'ai envoyé pour m'aider à résoudre un pb, j'ai passé un temps fou à le vider, et encore je me suis fait rentrer dedans parce qu'il y restait des adresses mails d'établissements publics.

Si je vous soumets mes interrogations, c'est parce que je n'ai pas les compétences que certains d'entre vous ont. Je cherche, je bidouille, j'adore ça, mais quand on ne sait pas, soit on fait un code peu économe voire pourri, soit on est planté.
Je pense que pas mal de gens du forum n'ont pas vos compétences, et je trouve les réponses parfois déconcertantes ou décourageantes, parce que les éléments de langage restent trop élevés. Par exemple, je suis allé sur la doc de l'API, j'ai installé Xray et j'ai lu sa notice...
Mais quand on ne sait pas ce qu'on y cherche, on reste collé au même endroit.

Bref, merci d'avoir pris le temps.
Je vais me débrouiller.
LibreOffice Version 25.8.1.1 - Linux Mint 22.2 - Win 10 Pro
Avatar de l’utilisateur
Carol
Membre OOrganisé
Membre OOrganisé
Messages : 96
Inscription : 10 sept. 2007 07:16

Re: [Calc] Envoyer un courriel en copie cachée

Message par Carol »

luky-luke a écrit : 30 oct. 2025 17:42 Bonjour,

Code : Tout sélectionner

    Sub OldMethode
    Dim Messagerie As Object, Client As Object, Courrier As Object
    	If GetGUIType = 1 Then
    		Messagerie = CreateUnoService("com.sun.star.system.SimpleSystemMail")'version Windows Aoo3/Libo3 & LibO4
    	Else
    		Messagerie = CreateUnoService("com.sun.star.system.SimpleCommandMail")'Version Linux Aoo3/LibO3 & LibO4
    	End if
    		Client = Messagerie.querySimpleMailClient()
     		Courrier = Client.createSimpleMailMessage()
    	
    		Courrier.Subject = "Test LibO4 et SystemMailProvider"'Sujet	
    		Courrier.Recipient = "Leochopoto@wanadoo.fr"'Adresse
    		Courrier.CcRecipient = Array("EtienneDuParc@LesAccacia.fr")'CopieA
    		Courrier.BccRecipient = Array("MaxLaMenace@Tapedur.fr")'CopieA
    		Courrier.Attachement = Array("")'PcsJt()
    		Client.sendSimpleMailMessage(Courrier,0)
 
    End sub
Cordialement
Ce code fonctionne parfaitement.
Merci beaucoup !
LibreOffice Version 25.8.1.1 - Linux Mint 22.2 - Win 10 Pro