Comment récupérer une properties d'un fichier eml

cancel
Showing results for 
Search instead for 
Did you mean: 
altiva_4280
Member II

Comment récupérer une properties d'un fichier eml

Bonjour,

J'ai besoin de faire une vue personnalisée en affichant la valeur "messageTo" des documents eml. Mon problème est que je n'arrive pas à récupérer la valeur du champ "messageTo" d'un document directement.

L'info existe bien, car je peux l'afficher avec le modèle doc_info.ftl :
(..)
Properties:

{http://www.alfresco.org/model/content/1.0}creator = admin
{http://www.alfresco.org/model/imap/1.0}messageTo = xxx@xxx.fr
(…)

mais je n'arrive pas à récupérer la valeur "messageTo" directement.

         ${child.properties.description} -
         ${child.properties.title} -
${child.properties['messageTo']} <<<<< ne fonctionne pas
${child.properties.messageTo <<<<< ne fonctionne pas non plus


Par contre, je peux afficher l'ensemble des properties (dont messageTo)  avec le script:


<#list space.children as child>
   <#if child.isDocument >
        <img src="${url.context}${child.icon32}">
         <b>${child.properties.name}</b> (${child.children?size}) -
         ${child.properties.description} -
         ${child.properties.title} -
         ${child.properties.creator}


  <#assign props = child.properties?keys>
     <#list props as t>
         <#– If the property exists –>
         <#if child.properties[t]?exists>

            <#– If it is a date, format it accordingly –>
            <#if child.properties[t]?is_date>
               ${t} (date) = ${child.properties[t]?datetime}<br>
           
            <#– If it is a boolean, format it accordingly –>
            <#elseif child.properties[t]?is_boolean>
               ${t} (bool) = ${child.properties[t]?string("yes", "no")}<br>
           
            <#– If it is a collection, enumerate it –>
            <#elseif child.properties[t]?is_enumerable>
               ${t} (enumerate) = <#list child.properties[t] as i>${i} </#list><br>
           
            <#– Otherwise treat it as a string –>
            <#else>
               ${t} (string)= ${child.properties[t]?html}<br>
            </#if>

         </#if>
      </#list>

   </#if>
<br>
</#list>
HELP !!
6 Replies
altiva_4280
Member II

Re: Comment récupérer une properties d'un fichier eml

Par hasard, j'ai trouvé:

${document.properties["imap:messageTo"]}

Maintenant, j'ai besoin de l'attachmentsFolder :

J'ai essayé

${document.properties["imap:attachmentsFolder"]} => Echec
et

${document.assocs["imap:attachmentsFolder"]} => Echec

Mon problème c'est que je trouve peu de doc et d'exemple sur le sujet.

Help!!


Assocs:

{http://www.alfresco.org/model/imap/1.0}attachment
/Company Home/Imap Home/admin/INBOX/Message_530.eml-attachments/P01_F8058037416_0043_497679_20101116_0000445423.pdf
/Company Home/Imap Home/admin/INBOX/Message_530.eml-attachments/ATT00004.htm
{http://www.alfresco.org/model/imap/1.0}attachmentsFolder
/Company Home/Imap Home/admin/INBOX/Message_530.eml-attachments


Properties:
{http://www.alfresco.org/model/content/1.0}creator = admin
{http://www.alfresco.org/model/imap/1.0}messageTo = xxxx@xxx.com
{http://www.alfresco.org/model/imap/1.0}messageSubject = Fwd: Facture et Avoir Techdata. Client N° 497679 envoyé le 17/11/2010
{http://www.alfresco.org/model/system/1.0}store-protocol = workspace
rguinot
Customer

Re: Comment récupérer une properties d'un fichier eml

merci d'utiliser des balises code pour des extraits de code / config. en l'état votre post est  peu lisible, surtout en fin d'apres midi.
merci également de ne pas mettre d'adresses mail en clair, sauf si vous appréciez particulièrement le spam
altiva_4280
Member II

Re: Comment récupérer une properties d'un fichier eml

merci d'utiliser des balises code pour des extraits de code / config. en l'état votre post est  peu lisible, surtout en fin d'apres midi.
merci également de ne pas mettre d'adresses mail en clair, sauf si vous appréciez particulièrement le spam

Autant pour moi, j'ai tellement galéré sur ce dossier que j'en oublie les règles de base… => j'ai corrigé.
rguinot
Customer

Re: Comment récupérer une properties d'un fichier eml

probable que vous ne puissiez pas l'afficher directement car c'est une séquence. il faut probablement itérer sur les élements, même s'il n'y en a qu'un
altiva_4280
Member II

Re: Comment récupérer une properties d'un fichier eml

probable que vous ne puissiez pas l'afficher directement car c'est une séquence. il faut probablement itérer sur les élements, même s'il n'y en a qu'un

Merci.

C'est ce que j'ai compris hier soir et cela fonctionne.

Je donne le code qui pourra peut-être servir pour d'autres.  Ce doc.ftl  liste les infos des mails d'un répertoire.


<h4>Liste des mails </h4>

<#list space.children as document>
   <#if document.isDocument >
     <#if document.properties["imap:messageTo"]?? >

<img src="${url.context}${document.icon32}"> <a href="/alfresco${document.url}" target="new"><b>${document.properties["imap:dateSent"]?date} / ${document.properties["imap:messageSubject"]?string} / ${document.properties["imap:messageFrom"]?html}</b></a>
<br>

        Nom du document: ${document.properties.name} <br>
        Taille : ${document.children?size}<br>
        Description: ${document.properties.description} <br>
        Titre: ${document.properties.title} <br>
        De: ${document.properties["imap:messageFrom"]}<br> 
        À: ${document.properties["imap:messageTo"]?html} <br>
        Sujet: ${document.properties["imap:messageSubject"]?html} <br>
        Envoyé le:  ${document.properties["imap:dateSent"]?date} <br>
        <#if document.assocs["imap:attachmentsFolder"]?exists>
          <#list document.assocs["imap:attachmentsFolder"] as t>
             Dossier des fichiers attachés: ${t.displayPath}/${t.name}<br>
          </#list>
        </#if>
     <br>
     </#if>
  </#if>
</#list>


Une autre version:





<h4>Liste des courriels dans l'espace courant (${space.name}) </h4>
<table>
<#list space.children as document>
   <#if document.isDocument >
     <#if document.properties["imap:messageTo"]?? >
<tr>
<td><a href="/alfresco${document.url}" target="new">${document.properties["imap:dateSent"]?date} </td>
<td><a href="/alfresco${document.url}" target="new">${document.properties["imap:messageSubject"]?string}</a></td>
<td><a href="/alfresco${document.url}" target="new">${document.properties["imap:messageFrom"]?html}</a></td>


        <#if document.assocs["imap:attachmentsFolder"]?exists>
          <#list document.assocs["imap:attachmentsFolder"] as t>
             Dossier des fichiers attachés: ${t.displayPath}/${t.name}<br>
           <td><a href="/alfresco${t.url}" target="new">voir les fichiers attachés</a></td>
          </#list>
        <#else>
          <td>_</td>
        </#if>


</tr>
     </#if>
  </#if>
</#list>
</table>

stewball
Member II

Re: Comment récupérer une properties d'un fichier eml

Bonjour à tous!

Merci pour le script!!! Il est très pratique!

Je cherchais sur le forum un moyen de supprimer les demandes d'accusé de réception des emails.
En effet, en partageant les mails via Alfresco certains client reçoivent 40 accusé de lecture de mail… Dans le contenu du fichier .eml, il y a
Disposition-Notification-To: "nom prénom" <nomprénom@xxxx.fr>
Il semblerait que cela corresponde aux accusés de lecture. Quelqu'un a t'il une idée pour supprimer ce champ?

Merci par avance et encore félicitation pour le script.

Stewball