prrvchr / eMailerOOo

Send Email in LibreOffice
https://prrvchr.github.io/eMailerOOo/
Mozilla Public License 2.0
6 stars 2 forks source link

Comment utiliser un fichier Calc comme source de données #9

Open presb opened 1 week ago

presb commented 1 week ago

Bonjour, Je n'arrive pas à envoyer des mails avec l'extension. Je ne suis malheureusement pas capable de dire si c'est un bug ou si je l'ai mal configurée. Désolé.

Mon document Writer est prêt. Les champs font référence à une base odb. Mais la base n'apparaît pas bien dans Outils > Sources du carnet d'adresses. image

Tel quel, je peux quand même essayer et ça a l'air de marcher. image

L'envoi est un échec. Néanmoins, il a bien essayé d'utiliser l'adresse dans ma base de données, qui semble donc être correctement liée, quoi qu'il en semble dans les sources du carnet d'adresses. Voici le message d'erreur :

<class 'AttributeError'>: hasCcRecipients, traceback follows File "C:\Users\sjbde\AppData\Roaming\LibreOffice\4\user\uno_packages\cache\unopackages\lu13761hzyxo.tmp\eMailerOOo(1).oxt\service\pythonpath\emailer\mailservice\smtpservice.py", line 144, in sendMailMessage self._sendSmtpMailMessage(message) File "C:\Users\sjbde\AppData\Roaming\LibreOffice\4\user\uno_packages\cache\unopackages\lu13761hzyxo.tmp\eMailerOOo(1).oxt\service\pythonpath\emailer\mailservice\smtpservice.py", line 328, in _sendSmtpMailMessage recipients = self._getRecipients(message) File "C:\Users\sjbde\AppData\Roaming\LibreOffice\4\user\uno_packages\cache\unopackages\lu13761hzyxo.tmp\eMailerOOo(1).oxt\service\pythonpath\emailer\mailservice\smtpservice.py", line 365, in _getRecipients if message.hasCcRecipients():

at C:/cygwin64/home/buildslave/source/libo-core/pyuno/source/module/pyuno_runtime.cxx:950

Merci d'avance pour votre aide.

prrvchr commented 1 week ago

Bonjour presb,

Mon document Writer est prêt. Les champs font référence à une base odb. Mais la base n'apparaît pas bien dans Outils > Sources du carnet d'adresses.

Il est impératif que la source de données soit enregistrée dans la liste des sources de données accessibles dans: Outils -> Options... -> LibreOffice Base -> Base de données. C'est la colonne Nom enregistré qui doit être utilisé dans: Outils -> Sources du carnet d'adresses du document de fusion Writer et dans l'assistant de publipostage de eMailerOOo.

Tel quel, je peux quand même essayer et ça a l'air de marcher.

Cette boîte de dialogue ne provient pas de eMailerOOo. Pour publiposter un document Writer, il faut:

Par contre, eMailerOOo n'a pas encore été mis à jour pour prendre en charge la version 24.8.x de LibreOffice. Mais cela va être bientôt fait...

presb commented 1 week ago

Merci de votre réponse. J'ai rectifié la configuration pour la source de données. J'attends la mise à jour de l'extension pour refaire un essai. Bonne journée.

prrvchr commented 1 week ago

Voila, pour fonctionner avec LibreOffice 24.8.x sous Windows 10 (32 ou 64 bits) il faut au minimum:

Pour essai j'ai réussi à envoyer un mailing avec LibreOffice 24.8.0.3 / Windows 10 (64bits) sous Lubuntu / VirtualBox. Merci de me confirmer que cela fonctionne pour vous.

presb commented 1 week ago

Mises à jour de eMailerOOo et jdbcDriverOOo faites. Je n'arrive toujours pas à envoyer de mail. La source de données a l'air bien enregistrée. Quand je lance le publipostage, tout semble bien se passer : image

A l'étape d'après, le contenu de ma base apparait dans l'onglet Destinataires disponibles, mais je n'arrive pas à les faire passer dans Destinataires sélectionnés qui reste vide. Quand je sélectionne un contact et que je clique sur ajouter, il change de couleur, mais rien ne se passe.

Pour la mise à jour de jdbcDriverOOo, suffit-il d'installer la nouvelle version après avoir désinstallé l'ancienne, ou faut-il faire quelque chose de plus ?

Cordialement

prrvchr commented 1 week ago

Quand je sélectionne un contact et que je clique sur ajouter, il change de couleur, mais rien ne se passe.

Normalement ce contact devrait se retrouver dans l'onglet Destinataire sélectionné et le bouton Suivant devrait devenir activé (non grisé)

J'ai peur que le probleme provienne de la source de données, pourriez-vous, à votre convenance :

presb commented 1 week ago

Bonsoir, J'ai essayé d'utiliser gContactOOo, mais j'ai du mal... Le problème doit probablement venir de la source de données. Je me propose de la recréer à partir de zéro. J'ai tout supprimé (le fichier de base de donnée et la base dans la liste des bases de données connues par libreoffice). J'ai un fichier LibreOffice calc avec mon tableau, et je le transforme en base de données, en créant une nouvelle base vide, puis en collant ma feuille de données dans la zone tables. Cela me propose de créer une nouvelle table, ce que je fais. Je sauvegarde. image

image

image

A ce moment, ma base est référencée, et je peux la sélectionner dans outils > sources du carnet d'adresses image

Ensuite je lance eMailerOOo image

image

Et je retrouve le même problème. Je vous joindrais bien un fichier de base de données mais je n'y arrive pas : type de fichier non supporté...

Merci pour votre aide.

prrvchr commented 1 week ago

En regardant de plus prés votre première capture d'écran, vous semblez vouloir utiliser HSQLDB intégré. Ceci n'est pas possible: cette base de données est complètement obsolète (ie: HsqlDB version 1.8.1).

Si vous souhaitez utiliser une base de données HsqlDB intégré, vous devez installer l'extension HyperSQLOOo (ie: HsqlDB version 2.7.3).

Par contre dans votre troisième capture d'écran, dans Nom de la table:, vous devrez mettre: PUBLIC.PUBLIC.Liste à la place de: Liste

De la même façon, dans votre quatrième capture d'écran, dans Table:, vous devrez mettre: PUBLIC.PUBLIC.Liste à la place de: Liste

Et enfin, tous les documents Writer (ie: le contenu du courriel et les fichiers attachés) ne doivent contenir que des champs de fusion (ie: colonnes) relatifs à la table: PUBLIC.PUBLIC.List.

Si votre document Writer a été configuré correctement (ie: Outils -> Sources du carnet d'adresses), dans votre cinquième capture d'écran, la Source de données : C2S doit être automatiquement sélectionnée.

presb commented 1 week ago

Si vous souhaitez utiliser une base de données HsqlDB intégré, vous devez installer l'extension HyperSQLOOo (ie: HsqlDB version 2.7.3).

Je ne souhaite pas particulièrement utiliser HsqlDB intégré. Que me conseillez-vous d'utiliser ? Est-il indispensable d'utiliser une extension de plus ?

Par contre dans votre troisième capture d'écran, dans Nom de la table:, vous devrez mettre: PUBLIC.PUBLIC.Liste à la place de: Liste

Je vais tester. Mais par curiosité, qu'est-ce que l'ajout du préfixe PUBLIC.PUBLIC change ?

Si votre document Writer a été configuré correctement (ie: Outils -> Sources du carnet d'adresses), dans votre cinquième capture d'écran, la Source de données : C2S doit être automatiquement sélectionnée.

C'est le cas il me semble.

prrvchr commented 1 week ago

Je ne souhaite pas particulièrement utiliser HsqlDB intégré. Que me conseillez-vous d'utiliser ? Est-il indispensable d'utiliser une extension de plus ?

En fait vous n'avez pas vraiment le choix, il faut un fichier odb pour faire fonctionner eMailerOOo et cela ne peut pas fonctionner avec HsqlDB 1.8.x... Plus précisément, la fonction principale de l'extension HyperSQLOOo est de pouvoir utiliser HsqlDB 2.7.3 dans un fichier odb. Elle vous permettra d'utiliser votre fichier Calc comme source de données au lieu de l'extension gContactOOo par exemple (ie: une source de données HsqlDB 2.7.3 synchronisée avec vos contacts Google).

Je vais tester. Mais par curiosité, qu'est-ce que l'ajout du préfixe PUBLIC.PUBLIC change ?

Si vous utiliser HyperSQLOOo alors il est indispensable de nommer la table de son nom complet: NomCatalogue.NomSchema.NomTable. Voir les prérequis de mon message précédent.