IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

[JavaMail] Identifiant unique email


Sujet :

Entrée/Sortie Java

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Par défaut [JavaMail] Identifiant unique email
    Bonsoir à tous !

    Je développe une application dans laquelle j'envoie des emails grâce à l'API JavaMail.

    Je souhaite effectuer un suivi des emails envoyés et des réponses reçues. Par exemple grâce à un JTree, comme on peut souvent le voir dans des applications de mailing ou de flux d'actualités. Pour cela je souhaiterai savoir :

    1. Est-ce que les emails envoyés et reçus ont un identifiant unique ? Par exemple dans le header et comment le récupérer ?

    2. Sinon, est-il possible d'en insérer un dans une balise du header de l'email ? Du type UUID ou autre ? Et comment ?

    3. Dans le cas de 1. et 2., est-ce que si une personne répond à cet email, la balise du header contenant l'identifiant unique sera reprise dans la réponse ? Sera-il le même ou un nouvel identifiant sera généré lors de la réponse ?

    4. Ou connaissez-vous un/des autre(s) moyen(s) efficace(s) pour suivre une discussion (envoi et réponses) ?


    Merci d'avance pour vos réponses et idées !

  2. #2
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut Ca va pas être simple
    Bonjour, je ne voudrai pas vous décevoir, mais à ma connaissance, et cela me semble logique, un mail ne peut pas avoir d'identifiant unique en soi. En effet, un mail est par définition conduit à se déplacer d'une machine à une autre, pour garantire un identifiant unique, il faudrait que ce dernier le soit au niveau mondial...
    Bref, les logiciels de messagerie standard exploite un schema fonctionnel simple et commun à tous par l'usage d'un dossier généralement nommé "éléments envoyés". Et comme un mail ne peut pas être identifié autrement, le stocke en fonction de la date et de l'heure de réception ou d'envoie de ce dernier. Donc, dans votre cas, il vous suffit de définir un identifiant unique local (Date+heure au millième suffisent généralement pour garantir une valeur unique) et de stocker sous forme de fichier html votre mail en ajoutant une votre identifiant dans le header html. Quand à associé les mails entre eux pour assumer l'équivalent d'un suivit de discussion, cela nécessitera une parie de code qui aura pour mission d'explorer les flags du mail afin de savoir s'il s'agit d'une réponse à un autre mail ou pas, etc...
    Bref, a part coder tout ça vous-même, je ne vois pas d'autre solution.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Par défaut
    Bonsoir et merci pour votre réponse.

    J'ai cru lire quelque part qu'un identifiant était généré par le serveur de courrier mais cet identifiant ne m'intéresse effectivement pas puisqu'il change à chaque fois et que les réponses ne le contiennent pas (à confirmer). Mais cette technique ne permet donc pas d'effectuer un suivi des réponses.

    Je souhaite donc insérer un identifiant unique (pas date+heure au millième mais directement générer un UUID).

    Le problème est que je ne sais pas comment l'insérer dans le header. Vous parlez de header HTML. Comment y accéder pour l'éditer en java ? Puis-je générer une balise, par exemple <UUID>identifiant_email</UUID> ? Sera-elle acceptée par les serveurs de courrier ou détruite car non reconnue ?

    Et, très important, lorsqu'un destinataire répondra à mon courrier en cliquant sur le bouton "Répondre" de son client de messagerie, est-ce que ma balise UUID sera inscrite dans le header de la réponse ?

    Merci d'avance pour votre réponse.

  4. #4
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut Poursuivons
    Très bien. D'après ce que je comprends, vous désirez éffectuer un suivit de discussion uniquement sur les mails que vous envoyez. Vous semblez être attaché à la notion de UUID, hors, un UUID signifie si je ne me trompes pas, Universel Unique Identification Data. Quel besoin dans votre cas d'être universel ? L'information que vous désirez manipuler est un simple identifieur local des mails que vous envoyez. C'est pour cela que je vous proposait une petite astuce qui consiste à produre un tel identifiant à partir d'une instance de Calendar.
    Comme vous envoyez le mail par l'API JavaMail, c'est que vous produisez ce mail depuis votre code probablement. Dans ce cas, si vous produisez un contenu HTML en guise de corp du mail, il doit être possible d'y caser cet identifieur au moment de la création du mail envoyé. Je crois que la balise TITLE des mails HTML n'est pas utilisée, vous pourriez très bien y stocker votre référence.
    Et lorsque les destinataires du mail répondent, s'ils n'ont pas modifier leur logiciel de messagerie ce dernier intègre le corpe du mail d'origine auquel le destinataire a répondu. Dans le code HTML de ce rattachement, vous retrouverez votre identifiant.
    Il suffit par exemple, à chaque mail envoyé que vous désirez suivre, un identifiant unique soit produit et utilisé comme nom de dossier dans une zone de stockage. Ce dossier contiendra alors le mail envoyé, et toutes les réponses qui le concerne. Un méthode de découverte de cette arborescence permettra alors de construire sous forme de JTree le suivit du mail concerné...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Par défaut
    Je pourrai en effet me passer d'un UUID mais il est tellement simple d'en générer un (java.util.UUID), pourquoi s'en priver ? :-)

    Tout l'intérêt de la question se trouve dans cette problématique : je ne peux pas me permettre que le destinataire modifie le contenu du message original envoyé (donc que l'identifiant disparaisse ou soit modifié). Je ne peux pas non plus me baser sur la date d'envoi du message original ou l'objet du message pour générer un identifiant, puisqu'ils peuvent également être modifiés.

    Raison pour laquelle je me demande si je ne pourrai pas intégrer cet identifiant dans le header et s'il sera conservé lors d'un réponse.

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par pursang Voir le message
    Bonjour, je ne voudrai pas vous décevoir, mais à ma connaissance, et cela me semble logique, un mail ne peut pas avoir d'identifiant unique en soi.
    Ben faut revoir vos connaissances . Non seulement un email ça a un identifiant unique, mais il est même obligatoire d'après le RFC, et la méthode pour le générer est précisée dans le RFC. En l'occurence, cet identifiant est dans le header sous le nom de "Message-ID" et est généré par le client email lors de l'envoi, ou par le serveur quand le client ne le mentionne pas.

    Pour faire du suivi, il suffit de regarder dans les email le champ "In-Reply-To" qui mentionne le Message-ID de l'email où on a cliqué sur "Répondre".

    La plupart des applications utilisent cette paire de champs pour l'organisation en discussions.
    Voici au hasard un email de ma boite au lettre issu d'une discussion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Message-ID: <867b3295-012f-4d58-9894-07d74537609b@subserver.company.com>
    In-Reply-To: <4E2D246B.50508@company.com>

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Par défaut
    Merci ! Voilà qui arrange bien mes petites affaires ! :-)

    Je vais regarder tout çà de plus près (RFC + API JavaMail) et viendrai poster des détails dès que j'en saurai plus.

    Merci !

  8. #8
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut On en apprend tous les jours...
    Et c'est génial.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/01/2006, 11h34
  2. Trouve l'identifiant unique du dernier enregistrement créé.
    Par Poussy-Puce dans le forum Requêtes
    Réponses: 4
    Dernier message: 12/01/2006, 14h46
  3. [fichier] trouver un identifiant unique
    Par FFF dans le forum Entrée/Sortie
    Réponses: 14
    Dernier message: 16/10/2005, 23h51
  4. [DB2] Identifiant unique
    Par kluh dans le forum DB2
    Réponses: 1
    Dernier message: 24/05/2005, 12h20
  5. l'identifiant unique de la dernière ligne insérée
    Par dim_italia dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/08/2004, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo