cancel
Showing results for 
Search instead for 
Did you mean: 

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

altiva_4280
Champ in-the-making
Champ in-the-making
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 = [email protected]
(…)

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 6

altiva_4280
Champ in-the-making
Champ in-the-making
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 = [email protected]
{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
Confirmed Champ
Confirmed Champ
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
Champ in-the-making
Champ in-the-making
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
Confirmed Champ
Confirmed Champ
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
Champ in-the-making
Champ in-the-making
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
Champ in-the-making
Champ in-the-making
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é[email protected]>
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