V18R2 Les Emails envoyés ne figurent pas dans la liste de messagerie

Nous avons envoyé nos premiers mails avec une grande simplicité grâce à la concision du 4D Blog à recommander : https://blog.4d.com/a-new-way-to-send-mails/#

Par contre 2 Pbs :
1/ Les Emails envoyés par 4D ne figurent pas dans la liste de messagerie de l’expéditeur (que ce soit Orange, Gmail,…). Que faut il faire pour qu’ils apparaissent

2/ Le log 4DSMTPLog_1 reste vide
Les journaux des requêtes et débogage sont activés (menu maintenance de 4D Server V18.2)
En méthode base Sur Ouverture nous avons ajouté :
FIXER PARAMÈTRE BASE (SMTP Enreg historique;1)
En méthode projet EnvoiMail :
$server.logFile:= Fichier(Fichier log SMTP)

Probables erreurs de débutants !

sur démarrage serveur, j’imagine ?

Non sur ouverture (du) client envoyant les mails… La doc 4D parle de session ?
On a une Erreur -9851 en le mettant sur ouverture serveur avec l’instruction
$smtp.logFile:=Fichier(Fichier log SMTP)
Et lorsqu’on met l’instruction dans la méthode d’envoi, on n’a pas d’erreur et pas de log…

The instruction Fichier(Fichier log SMTP) will return an error if the file does not exist yet. That is how the fk constants work in general.

Also, SMTP logging must be activated on either the server or each client, or both, based on where you use the transporter.

Hors contexte, suggestion de travail:

  • créer un enregistrement dans une table [MAIL] qui contient les informations d’envoi du mail + le mail
    Une boucle qui :
  • contrôle l’état du SMTP
  • scrute la table mail et qui envoie les messages
  • enregistre dans l’enregistrement le résultat de l’envoi
  • la boucle est lancée sur démarrage serveur en C/S et sur ouverture en mono

Avantages:

  • Ça centralise le code et évite d’en avoir partout
  • Plus facile à déboguer et à maintenir

Voici la structure de mon module

Merci pour vos infos. Nous allons travailler ces points.

Quelqu’un aurait une idée ou une piste concernant la première question : Les Emails envoyés par 4D V18.2 ne figurent pas dans le dossier Envoyé de nos messageries d’expéditeur (on a testé Orange, Gmail,…) alors que les mails arrivent bien chez les destinataires et figurent dans le dossier Réception de leur messagerie.
Que faut il faire pour qu’ils apparaissent. Peut être une option à activer ?
Merci d’avance pour le coup de pouce… On débute dans ce domaine…

et en changeant la constante :

SET DATABASE PARAMETER(SMTP Log;1)

4D V18.2 ne reconnait pas SMTP Log => Erreur 7 : il manque une expression numérique
Bien que la Doc le montre en exemple : https://doc.4d.com/4Dv18/4D/18/Description-des-fichiers-d-historique.300-4575486.fr.html

Au temps pour moi : en naviagnt dans la doc, j’ai crû que la constante était la même en FR et UK. Je ne connais pas la version 18.2

On ne comprend pas pourquoi les Emails envoyés avec succès par 4D V18.2 ne figurent pas dans le dossier Envoyé de nos messageries d’expéditeur (on a testé Orange, Gmail,…) alors que les mails arrivent bien chez les destinataires et figurent dans le dossier Réception de leur messagerie.
Quelle instruction doit on insérer ?
Quelqu’un a t il eu ce pb ?

La question n’est pas claire : si le message est envoyé depuis une base 4D, il ne peut pas être vu chez orange ou tout autre fournisseur. On n’est pas en IMAP : quand on envoie avec le client mail d’Orange c’est la base de données d’Orange. Avec 4D c’est 4D.
Je ne pense pas qu’il y ait problème juste un problème de point de vue

Désolé pour le manque de clarté de notre question mais c’est effectivement notre Pb :
Notre objectif : envoyer des mails rédigés sous 4D (Pour nous SMTP est un simple facteur) et ça marche bien.
Nous comptions ensuite faire le suivi à partir des messageries des utilisatrices (sans mettre de messagerie dédiée IMAP ou POP3 sur 4D) Encore faut il que le mail envoyé apparaisse dans le dossier Envoyé de leur messagerie. Ce qui n’est effectivement pas le cas…
Le problème doit pouvoir se résoudre car nous utilisons Mozilla Thunderbird en client de plusieurs messageries pour envoyer manuellement ces mails et ça fonctionne (les mails apparaissent dans les dossiers Envoyés des messageries correspondantes)

Bonjour,

Un serveur SMTP ne fait que relayer le courrier. Le SMTP ne sauvegarde pas de copies dans un dossier “Eléments envoyés”. SMTP ne supporte d’ailleurs pas la notion de “dossier”.
Seul IMAP peut vous permettre de faire une copie de votre mail dans un dossier de votre boite mail.

Il suffit de d’ajouter le mail de l’expéditeur dans le “cci” (copie cachée invisible) pour recevoir le mail dans votre boite de réception (malheureusement pas la boite d’envoi; mais (pas testé), il serait possible de mettre en place une règle sur votre logiciel de réception de mail pour classer le mail où vous le souhaitez (la règle serait assez simple car l’adresse d’expedition est la votre).

Oui c’est le pis aller que nous avons mis en place. Cela arrive dans le dossier reception et perturbe nos utilisatrices.
Si une instruction de copie IMAP permet de le classer en Document reçu dans les messageries (orange, gmail, outlook) utilisées c’est mieux

Avez-vous testé la mise en place d’une règle ? C’est assez simple dans Mail sur Mac, je ne sais pas s’il y a l’équivalent dans Mozilla Thunderbird.

Un exemple de code nous permettrait d’avancer sur ce point. D’avance merci.
Y a t il un Blog traitant ce sujet (IMAP) ? Le blog Smtp nous a permis d’avancer vite.
Lu https://doc.4d.com/4Dv18/4D/18/Commandes-IMAP4-Introduction.300-4689691.fr.html
Comment récupère t-on le N° d’un message venant d’être envoyé par Smtp sachant qu’il ne figure pas dans la messagerie interrogée ?

À ce que je comprends, vous pouvez déplacer le message d’une MB (Mail Box) à une autre ; mais, c’est tout ! Donc, vous êtes bien obligé de vous envoyer le message pour le créer (sur le serveur) pour pouvoir le relire (et récupérer son ID sur le serveur !), pour ensuite le déplacer par programmation.

Nous avons utilisé la notation objet fournie en exemple dans le blog.
$smtp:= Créer objet

Nous n’avons pas utilisé SMTP_New ( smtp_ID ) qui donne un ID du mail (en cours)
Piste ? smtp_ID peut il être utilisé avec une instruction IMAP pour identifier le mail à diriger vers la MB Reception (sans avoir à nous envoyer le message en cci) ?

Avec les nouvelles commandes Objet de 4D pour l’envoi de mail le messageID qui est créer par 4D est valable pendant la session de creation et l’envoi; MAIS, je ne suis pas certain que l’ID du mail sur le serveur d’arrivé soit/reste le même !

De plus, comment voulez-vous modifier/déplacer un message sur VOTRE serveur si vous ne l’avez pas envoyé en premier ?