Publipostage Writer : le facteur n'est pas passé...

Bonsoir

Avec LO  6.3.5.2 (x64), sous Windows 10.

J'ai souvent besoin, et donc un peu l'habitude, de faire des publipostages avec une lettre type writer et des données issues d'un classeur calc.
Je n'ai aucun pb avec les procédures :
- d'impression du publipostage : vers une imprimante ou vers un/des fichier(s).
- d'envoi par courriel (format texte ou html) : le smtp est bien réglé, les messages partent.

Pour cette fois là, j'ai eu besoin de faire un publipostage par courriel en choisissant : "Envoyer comme" -> "Document Adobe PDF".
Besoin lié à l'urgence d'envoyer les reçus fiscaux pour les adhérent·es d'une association.
Volume total de messages à envoyer : 270.
Par précaution, je mets l'adresse de l'association en copie cachée afin de suivre le bon déroulé du publipostage.

Je configure tout comme il faut, puis :
- si je sélectionne "Envoyer tous les documents" : cela envoie trois messages, puis arrêt inopiné au 4e.
- si j'en sélectionne 30 ou 50 : cela envoie parfois trois messages, parfois un seul (j'ai fait plusieurs essais...)
- j'ai fini par trouver qu'à 20, cela passait.

Au moment de l'arrêt inopiné, une fenêtre d'avertissement affiche un message quasi illisible que je n'ai pas pensé à tenter de sauvegarder. Et si je demande à "Continuer" le publipostage, alors là... plantage de LO.

J'ai donc passé pas mal de temps pour cet envoi, d'autant qu'à chaque fois, je modifiais la base de données pour être sûr de ne pas doublonner ou faire des oublis. Je devais ensuite redéfinir le champ à prendre en compte pour l'adresse électronique, le sujet du mél, le texte du corps du mél, etc...

Bref, la prochaine fois, faudra que je m'y prenne autrement. Avec Thunderbird et "mail merge", cela fonctionnera peut-être mieux, mais il faudra que je sois dans les locaux de l'association pour utiliser le compte configuré dans Thunderbird, sinon c'est l'un de mes comptes persos qui serait l'expéditeur.

Est-ce que ce genre de mésaventure est connu ?... et y a-t-il un contournement ?

Merci d'avance.
Luc

Bonjour
Je reviens sur cette question pour laquelle j'ai des éléments nouveaux.

Ayant eu besoin de refaire un publipostage, mais cette fois-là en format "html", j'ai été confronté au même problème de blocage après l'envoi de 3 ou 4 messages.
J'ai pensé à copier le message d'alerte :

<class 'smtplib.SMTPServerDisconnected'>: please run connect() first, traceback follows
  File "C:\Program Files\LibreOffice\program\mailmerge.py", line 288, in sendMailMessage
    self.server.sendmail(sendermail, truerecipients, msg.as_string())
  File "C:\Program Files\LibreOffice\program\python-core-3.5.9\lib\smtplib.py", line 857, in sendmail
    (code, resp) = self.mail(from_addr, esmtp_opts)
  File "C:\Program Files\LibreOffice\program\python-core-3.5.9\lib\smtplib.py", line 534, in mail
    self.putcmd("mail", "FROM:%s%s" % (quoteaddr(sender), optionlist))
  File "C:\Program Files\LibreOffice\program\python-core-3.5.9\lib\smtplib.py", line 367, in putcmd
    self.send(str)
  File "C:\Program Files\LibreOffice\program\python-core-3.5.9\lib\smtplib.py", line 359, in send
    raise SMTPServerDisconnected('please run connect() first')

J'ai eu l'idée de désinstaller LibreOffice 6.3.5.2 et réinstaller LibreOffice 6.3.4.2.
Et bien... le publipostage a fonctionné parfaitement.
Par contre, pour la question de mon message initial, je n'ai pas testé l'envoi sous forme de fichier pdf.

C'est un bug connu de la branche 6.3.5 ?
La branche 6.4 l'a-t-elle corrigé ?

@+
Luc

Bonsoir

Avec LO 7.0.5.2 sous Windows 10

Je déterre mon message saisonnier.
L'épisode de l'an dernier en fin de message.

Pb similaire cette année avec LO 7.0.5.2 :
J'ai souvent besoin, et donc un peu l'habitude, de faire des publipostages avec une lettre type writer et des données issues d'un classeur calc.
Je n'ai aucun pb avec les procédures :
- d'impression du publipostage : vers une imprimante ou vers un/des fichier(s).
- d'envoi par courriel (format texte ou html) : le smtp est bien réglé, les messages partent.

Pour ce cas précis, j'ai eu besoin de faire un publipostage par courriel en choisissant : "Envoyer comme" -> "Document Adobe PDF".
Besoin lié à l'envoi des reçus fiscaux pour les adhérent·es d'une association.
Volume total de messages à envoyer : 270.
Par précaution, je mets l'adresse de l'association en copie cachée afin de suivre le bon déroulé du publipostage.

Je configure tout comme il faut, puis :
- si je sélectionne "Envoyer tous les documents" : cela envoie trois messages, puis arrêt inopiné au 4e.
- si j'en sélectionne 30 ou 50 : cela envoie parfois trois messages, parfois un seul (j'ai fait plusieurs essais...)
 l faudrait que je fasse xx envois saucissonnés, ça fait pas envie.

Le message d'erreur qui s'affiche dit :

<class 'smtplib.SMTPServerDisconnected'>: please run connect() first, traceback follows

File "C:\Program Files\LibreOffice\program\mailmerge.py", line 273, in sendMailMessage

self.server.sendmail(sendermail, truerecipients, msg.as_string())

File "C:\Program Files\LibreOffice\program\python-core-3.7.7\lib\smtplib.py", line 861, in sendmail

(code, resp) = self.mail(from_addr, esmtp_opts)

File "C:\Program Files\LibreOffice\program\python-core-3.7.7\lib\smtplib.py", line 534, in mail

self.putcmd("mail", "FROM:%s%s" % (quoteaddr(sender), optionlist))

File "C:\Program Files\LibreOffice\program\python-core-3.7.7\lib\smtplib.py", line 367, in putcmd

self.send(str)

File "C:\Program Files\LibreOffice\program\python-core-3.7.7\lib\smtplib.py", line 359, in send

raise SMTPServerDisconnected('please run connect() first')

L'an dernier, je m'escrimais avec la branche 6.3.5.2, cette année, c'est la 7.0.5.2, l'an prochain, ce sera la ???

Je vais devoir me retourner vers le Mail-merge de Thunderbird, mais c'est moins pratique.

@+
Luc

Bonjour luc,

Peux-tu me préciser si ta connexion est en Imap ou pop3 ?
quel est ton fournisseur email ?
d'après le message d'erreur, tu as perdu la connexion au moment d'envoyer
ton message...
Il est possible que ton fournisseur aie une protection contre l'envoi de xx
messages en xx secondes...
certains anti-spam par exemple, refuse systématiquement la première
connexion (en répondant que le serveur est occupé), et attendent la seconde
connexion pour accepter. (car les spammeurs en général ne font pas 2
essais...)
D'après le code, il n'y a pas de "try / catch" lors de l'envoi du message.
Peut-être qu'en ajoutant une gestion de l'erreur, on pourrait mettre un
réessai quand il tombe en erreur...
Je vais regarder un peu si c'est possible mais python, j'ai jamais encore
programmé :wink:

Yves

Bonjour Luc

tu as regarde dans les fichiers cités par le message d'erreur si tu trouvais une explication ?
Car c'est vraiment les mêmes que l'an dernier, tu as du le remarquer..  alors que la version Python a aussi évoluée...

Claire

Bonsoir

Pour la connexion, c'est IMAP, le domaine expéditeur c'est le domaine de l'association : mais je ne pense pas que ça vienne de là.

La connexion semble se perdre (après trois réussites d'envois), mais uniquement dans le cas précis du publipostage sous forme de fichier pdf : pour un publipostage avec envoi en mail html, je viens d'en envoyer une quarantaine sans aucun pb.

Pour l'envoi des attestations fiscales, j'ai fini par le faire avec Thunderbird/Mailmerge : tout est bien passé, mais ça m'oblige à configurer le compte de l'asso provisoirement sur mon thunderbird perso.

@+
Luc

Bonjour,

Je m'étonne que ton fournisseur d'accès laisse passer un tel volume sans détecter du Spam.

Le mien me bloque à 50, ensuite je suis bloqué pendant une journée...

Bonne soirée,

Bonjour Luc
 
Au vu de l'échange de mail, je crois comprendre qu'il y a la possibilité de faire du publipostage avec LO avec envoi directement par mail.
 
J'ai moi aussi des reçus fiscaux à envoyer... jusqu'a présent je crée les fichiers PDF pour chaque personne, puis j'envoie le fichier, manuellement, par mail à chaque destinataire.
 
Si une possibilité d'envoi direct par mail au destinataire existe, pouvez vous m'indiquer la marche à suivre, car je n'ai pas trouvé cette possibilité  (LO 7.05.2)
 
Bien cordialement
 
Philippe

Ok pour imap , mais avec quel fournisseur helem.fr ? outlook.com ? gmail.com
?

Je sais pas exemple que chez Ovh, ils bloquent (pour les hébergements
normaux à 20 ou 50 de mémoire).
Peut-être qu'il faudrait placer un "delai" entre chaque mail (assez facile
à faire je suppose) pour voir si le fait d'envoyer "pas trop vite", ça
passe :wink:

Ton mailmerge.py devrait alors vers la ligne 273, juste avant sendmail, tu
ajoutes la ligne avec time.sleep(3) pour faire une pause de3sec =>
time.sleep(3)
self.server.sendmail(sendermail, truerecipients, msg.as_string())

(fais tjrs une copie de ton fichier avant modif :wink: ).
Yves

Bonjour,

Lorsque la source de données est affichée, en cliquant sur l’icône Publipostage, après le choix du document, sur la deuxième boîte de dialogue, on a la possibilité Lettre ou Courriel.

Cordialement,

Oubli : tout est dans la documentation, au Chapitre 14, Le publipostage <https://wiki.documentfoundation.org/Documentation/Publications/fr#Guide_Writer>

Bonsoir
Après avoir modifié le fichier mailmerge.py comme suggéré.
Avec délai fixé d'abord à 3 s puis à 6 s, puis à 20 s.

- Envoi en HTML ou PDF :
4 destinataires : OK
40 destinataires : OK
100 destinataires : KO après 1 ; 2 ou 3 envois.

Le message d'erreur est :

<class 'smtplib.SMTPServerDisconnected'>: Connection unexpectedly closed: [WinError 10053] Une connexion ᅢᄅtablie a ᅢᄅtᅢᄅ abandonnᅢᄅe par un logiciel de votre ordinateur hᅢᄡte, traceback follows
  File "C:\Program Files\LibreOffice\program\mailmerge.py", line 274, in sendMailMessage
    self.server.sendmail(sendermail, truerecipients, msg.as_string())
  File "C:\Program Files\LibreOffice\program\python-core-3.7.10\lib\smtplib.py", line 861, in sendmail
    (code, resp) = self.mail(from_addr, esmtp_opts)
  File "C:\Program Files\LibreOffice\program\python-core-3.7.10\lib\smtplib.py", line 535, in mail
    return self.getreply()
  File "C:\Program Files\LibreOffice\program\python-core-3.7.10\lib\smtplib.py", line 391, in getreply
    + str(e))

Par ailleurs, le SI de l'association a limité (limite débrayable et débrayée pendant mes tests) l'envoi de mails à 500 par heure : je suis bien en deçà de ce volume.
Pour mémoire, avec le mailmerge de thunderbird, je n'ai aucun problème.

@+
Luc

Bonsoir Luc,

tout semble indiquer que tu as un programme qui interfère dans les
connexions.
S'il sait envoyer 4 messages, il devrait pouvoir envoyer les suivants.
Comme l'erreur retournée est un "server disconnected", j'en déduis que la
connexion est sabordée par un programme. (anti-virus ?)
Si le problème était une adresse email défectueuse, il retournerait le code
SMTP adéquat, ce qui n'est pas le cas ici.
As-tu antivirus? si oui peut-être le désactiver temporairement pendant les
tests ?

Ce que tu envoies est "personnalisé" pour les personnes ou c'est un simple
email avec une pièce attachée ?
(si oui peut-être utiliser une autre méthode).

Yves
Quel système utilise-tu ?

Bonsoir,
Faire par "lots" de 10/15max par envoi, les "tenanciers" de bureaux de poste sont des vrais psychopathes (orange style + de 3 ou 5 mails en moins de x sec; te bloque etc.).
Effectivement bien rédiger le mail d'accompagnement favorise la remise et il y a pas mal d'autres trucs (SPF sur le DNS, DKIM si possible)
Éventuellement vérifier
Sinon utiliser un smtp adéquat (perso coté pro ce sont des passerelles smtp Alinto[FR], mais il doit y avoir peut etre une offre chez sendinblue [FR]). Plus de 600 000 mails par mois entre les NL, les "quotidiens", les Reçus fiscaux (bon là ce ne sont que qques milliers, une fois par an) depuis civiCRM.
fa

Bonjour

Effectivement, il y avait un programme qui "interférait" : l'antivirus Avast.

Après avoir débrayé le plafond horaire de l'association, et désactivé l'antivirus, je viens de procéder avec succès à :
- un envoi vers 100 adresses
- un envoi vers 200 adresses
Les 50 premiers envois sont plutôt lents avec une charge processeur d'environ 16%. Les suivants sont rapides avec une charge 2%.
Le pdf généré pèse environ 120 ko, il contient des infos personnalisées : sinon j'enverrais le publipostage en simple corps de message.
Aucune indication de "spam" ajoutée par les "tenanciers" dans le sujet des messages reçus : même chez laposte.net !
J'effectue l'envoi avec pour chaque destinataire l'adresse de l'asso en copie cachée.
Le tout depuis windows 10.

Ce qui m'interroge toujours, c'est qu'avec Thunderbird/Mailmerge, je ne rencontre aucun problème.

Pour la modification opérée dans le fichier  mailmerge.py, elle sera perdue à la prochaine mise à jour de LO.

@+
Luc

Avec Windows 10, un antivirus externe n'est plus nécessaire, Defender fait très bien ce travail.

Cordialement,

Peut-être chercher dans les options d'avast s'il y a possibilité de mettre
libreoffice comme "autorisé" à spammer (comme thunderbird).
Je suppose que par défaut, libreoffice n'est pas "reconnu" comme programme
email et donc, est considéré comme programme de spam :wink:

Content qu'on ait trouvé le coupable :wink:
Yves

Merci Jean-Michel
 
J'ai bien lu le Chapitre 14 sur le publipostage... mais je n'ai pas trouvé réponse à ma question pour les courriels... à moins qu'il me fasse refaire tout un processus.
En effet
J'ai

une base de donnée contenant tous les éléments pour un reçu fiscal (fichier calc)
un document odt (reçu fiscal) contenant les champs en liason avec ma base de donnée

Je procédais comme suit pour établir mes reçus fiscaux :

Charger le document reçu fiscal en odt
Cliquer  le imprimer
apparait la boite de dialogue voulez vous imprimer une lettre formulaire : je clique oui
apparait alors la boite de dialogue "publipostage"
Je saisi les informations nécessaires pour obtenir un fichier pdf pour chaque destinataire...   Les fichiers pdf sont alors inscrit dans le dossier selectionné

ensuite j'envoyais par mail les fichiers pdf à leur destinataire et ce un par un.
 
Mais je n'ai pas trouvé la  possibilité, sur la boite  "publipostage" pour choisir un envoi par courriel.
 
Quelle solution est possible ? (dans le chap 14 l'exemple donné concerne l'envoi d'une lettre imprimée mais pas d'un courriel spécifique à chaque destinataire.)
 
Dois-je reprendre l'assistant publipostage pour recréer mon reçu fiscal ? 
 
Merci de votre éclairage
Bien cordialement

Bonjour

Le document "reçu fiscal" étant ouvert, si la barre d'outils "publipostage" est affichée :
- cliquer pour afficher par exemple le destinataire 1
- choisir "envoyer les courriels"
- dans la boîte de dialogue, il faudra :
    - sélectionner le champ contenant l'adresse des destinataires.
    - définir le sujet du message
    - sélectionner "Document adobe PDF" au lieu de "Message HTML", puis définir le texte du corps du message auquel sera joint le pdf.
    - définir éventuellement le nom du fichier joint.

@+
Luc

Merci Jean-Michel
  J'ai bien lu le Chapitre 14 sur le publipostage... mais je n'ai pas trouvé réponse à ma question pour les courriels... à moins qu'il me fasse refaire tout un processus.
En effet
J'ai

une base de donnée contenant tous les éléments pour un reçu fiscal (fichier calc)
un document odt (reçu fiscal) contenant les champs en liason avec ma base de donnée

Je procédais comme suit pour établir mes reçus fiscaux :

Charger le document reçu fiscal en odt
Cliquer  le imprimer
apparait la boite de dialogue voulez vous imprimer une lettre formulaire : je clique oui
apparait alors la boite de dialogue "publipostage"
Je saisi les informations nécessaires pour obtenir un fichier pdf pour chaque destinataire...   Les fichiers pdf sont alors inscrit dans le dossier selectionné

  ensuite j'envoyais par mail les fichiers pdf à leur destinataire et ce un par un.
  Mais je n'ai pas trouvé la  possibilité, sur la boite  "publipostage" pour choisir un envoi par courriel.
  Quelle solution est possible ? (dans le chap 14 l'exemple donné concerne l'envoi d'une lettre imprimée mais pas d'un courriel spécifique à chaque destinataire.)
  Dois-je reprendre l'assistant publipostage pour recréer mon reçu fiscal ?
  Merci de votre éclairage
Bien cordialement

Message du 13/04/21 05:42> De : "Jean-Michel COSTE" > A : users@fr.libreoffice.org> Copie à : > Objet : Re: [fr-users] Publipostage Writer

: le facteur n'est pas passé...> > Le 12/04/2021 à 18:14, Jean-Michel COSTE a écrit : > Le 12/04/2021 à 11:41, Philippe POUMAILLOUX a écrit : >> Bonjour Luc >> Au vu de l'échange de mail, je crois comprendre qu'il y a la >> possibilité de faire du publipostage avec LO avec envoi directement >> par mail. >> J'ai moi aussi des reçus fiscaux à envoyer... jusqu'a présent je crée >> les fichiers PDF pour chaque personne, puis j'envoie le fichier, >> manuellement, par mail à chaque destinataire. >> Si une possibilité d'envoi direct par mail au destinataire existe, >> pouvez vous m'indiquer la marche à suivre, car je n'ai pas trouvé >> cette possibilité  (LO 7.05.2) > > Bonjour, > > Lorsque la source de données est affichée, en cliquant sur l’icône > Publipostage, après le choix du document, sur la deuxième boîte de > dialogue, on a la possibilité Lettre ou Courriel. Oubli : tout est dans la documentation, au Chapitre 14, Le publipostage -- Jean-Michel COSTE -- Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy

Je recommence...

C'est à l'étape 2 que ça ne va pas...parce que tu n'es pas dans l'assistaznt

Ta lettre est dans libreoffice.

  * Outils > Assistant publipostage.
  * Bouton radio ; Utiliser le Document actif
  * Suivant
  * Courriel

Bonne soirée,