Dans cette tâche, vous mappez la variable XML
contenant l'en-tête MIME de l'en-tête du courrier électronique et la
variable de chaîne contenant le corps du message respectivement vers les
paramètres d'entrée mimeheader et body de l'activité Lire
MIME. Les variables doivent être mappées vers les paramètres
d'entrée mime header et body. Les deux paramètres d'entrée sont
requis. Le paramètre d'entrée mime header est de type XML et le
paramètre d'entrée body est de type chaîne.
Pourquoi et quand exécuter cette tâche
Le tableau suivant définit les éléments du paramètre
d'entrée mimeheader :
Tableau 1. Nom d'élément |
Par défaut |
mimeVersion |
N'est actuellement pas utilisé. |
contentType/mainType |
N'est actuellement pas utilisé. L'activité
Lire MIME détermine si le message contient ou non plusieurs
parties en analysant la syntaxe du message à l'aide du délimiteur de
limite indiqué. |
contentType/subType |
N'est actuellement pas utilisé. |
contentType/charset |
N'est actuellement pas utilisé. |
contentType/attribute/name – contentType/attribute/value |
L'élément d'attribut contient un ensemble
d'attributs au format paires nom/valeur. Vous pouvez indiquer
l'attribut boundary qui indique le délimiteur boundary
entre les entités à plusieurs parties du message. Si vous indiquez
l'attribut boundary, il remplace l'ensemble boundary
par défaut dans le message lui-même.
Si aucun attribut boundary n'est indiqué dans le message
lui-même ou lors de l'utilisation de l'élément d'attribut, une
exception est lancée lors de la phase d'exécution. |
contentTransferEncoding |
N'est actuellement pas utilisé. |
otherMimeHeaders |
N'est actuellement pas utilisé. |
Le
corps du message peut contenir une ou plusieurs parties MIME séparées
par la valeur de limite indiquée dans l'élément
contentType/attribute du paramètre d'entrée mimeheader. Chaque
partie contient un en-tête MIME qui décrit les différents attributs
du corps de la partie associé. Le mode d'analyse syntaxique de la
partie dépend des valeurs affectées aux paramètres suivants de
entityMimeHeader du corps de l'entité :
- en-tête Content-Type,
- attribut Charset de l'en-tête Content-Type,
- Content-Transfer-Encoding.
Le mode d'analyse
syntaxique du corps de la partie dépend des valeurs de
Content-Transfer-Encoding et Content-Type :
Content-Type prend
la valeur "text" :
- Si Content-Type prend la valeur "text" et que
Content-Transfer-Encoding prend la valeur "7-bit"/"8-bit" ou
"binary", le corps de la partie est convertie en une chaîne codée en
UTF8 et copié dans l'élément entityBody du paramètre de
sortie parts.
- Si Content-Type a pour valeur "text" et que
Content-Transfer-Encoding a pour valeur "quoted-printable", le
corps de la partie est décodé en quoted-printable, converti en
une chaîne UTF8 basée sur l'attribut charset et copié dans l'élément
entityBody du paramètre de sortie parts.
- Si Content-Type a pour valeur "text" et que
Content-Transfer-Encoding prend pour valeur "base64", le corps de la
partie est décodé en base64, converti en une chaîne UTF8 basée sur
l'attribut charset et copié dans l'élément entityBody du
paramètre de sortie parts.
Si cela n'est pas
explicitement indiqué dans l'en-tête MIME de la partie, l'attribut
charset prend par défaut la valeur UTF8, sauf si Content-Disposition
prend la valeur "attachment" et que Content-Type prend la valeur
"text". Dans ce cas, la partie n'est pas traitée comme du texte
puisque le jeu de caractères des données ne peut pas
être connu. De
plus, Content-Transfer-Encoding est défini avec la valeur "binary".
Content-Type
ne prend pas la valeur "text" :
- Si Content-Type ne prend pas la valeur "text" et que
Content-Transfer-Encoding a pour valeur "7bit"/"8bit" ou "binary", le
corps de la partie est converti en une chaîne UTF8 et copié dans
l'élément entityBody du paramètre de sortie parts.
- Si Content-Type ne prend pas la valeur "text" et que
Content-Transfer-Encoding a pour valeur "quoted-printable", le corps
de la partie est décodé en quoted-printable, codé en base64
et copié dans l'élément entityBody du paramètre de sortie
parts.
- Si Content-Type ne prend pas pour valeur "text" et que
Content-Transfer-Encoding a pour valeur "base64", le corps de la
partie est copié tel quel (données base64) dans l'élément
entityBody du paramètre de sortie parts.