[RESOLU] Concatener 2 champs MIME

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

[RESOLU] Concatener 2 champs MIME

Messagepar fripouille76 » 19 Fév 2013 à 18:03

Bonjour

Ne maitrisant pas parfaitement les class Mime je vous pose la question suivante , en désespoir de cause.
comment je peux ajouter dans un NotesMimeEntity, une valeur provenant d'un autre NotesMimeEntity.

je sais rajouter du text dans un NotesMimeEntity, mais je n'arrive pas à ajouter concatener deux NotesMimeEntity pour n'en faire qu'un.

Pensez vous que c'est réalisable ? si oui avait vous une idée des class à utiliser ?
Dernière édition par fripouille76 le 28 Fév 2013 à 15:36, édité 1 fois.
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19

Re: Concatener 2 champs MIME

Messagepar fripouille76 » 20 Fév 2013 à 16:08

Personne n'a d'idée ..??

Je vais essayer d'être plus précis..

Alors j'arrive a avoir un champ "body" au format mime dans mon doc Memo à envoyer.
J'aimerai maintenant lui ajouter un lien href au format mime..

Code : Tout sélectionner
      Dim stream As NotesStream
      Dim body As NotesMIMEEntity
      Dim child As NotesMIMEEntity
      session.ConvertMime = False
      Set stream = session.CreateStream
      Set body = doc.Getmimeentity("body")
      
      'Ajoute un lien pour le désabonnement (recrée une entité enfant)
      Set child = body.Createchildentity()
      
      Call stream.Truncate
      chaine = {<br><Font size="2" face ="Arial"><BR><BR><a href="mailto:} & Emetteur & {?subject=Desabonnement&body=Je vous signale par ce mail mon désabonnement">Pour vous désabonner, cliquez ici</a></Font>}
      Call stream.WriteText(chaine)
      Call child.SetContentFromText(stream, "text/html;charset=UTF-8", ENC_NONE)
      Call stream.Truncate


Mon problème c'est que si je fais cela j'ai bien mon lien qui est dans le body, mais il écrase le contenu existant du body.

si vous aviez une solution ou une piste je suis preneur

merci
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19

Re: Concatener 2 champs MIME

Messagepar fripouille76 » 27 Fév 2013 à 11:06

Bon je reviens vers vous car je tourne en rond, et mes différents tests ne sont pas concluant.


A la base, mon application est en XPAGES, l'utilisateur crée le contenu du mail qu'il souhaite envoyé dans un champ Text Enrichi.
J'ai pas de souci pour envoyer mon mail au format initial du champ, par contre cela se complique pour ajouter un lien Href de désabonnement en fin de ce champ.

j'ai l'impression que je suis obliger de passer par du Mime et c'est la que ca bloque.

Avez vous des exemples ou des pistes qui pourraient m'aider, j'ai déjà parcouru la faq et j'ai malheureusement rien trouvé qui fonctionne dans mon cas.

L'idée qui marche le mieux c'est la suivante.

à la sauvegarde de ma xpages, je crée un champ "Body" de type Mime, avec le contenu de mon champ enrichi dans un child, puis j'ajoute dans un second child le lien href.
=> Problème c'est que vers l'extérieur depuis mon serveur de test, le contenu se positionne sous le disclaimer. (un peu embêtant)
=> Depuis le serveur de mon client, le mail n'est même pas traduit en MIME il apparait en text brute.

Help plzz ..... ;(
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19

Re: Concatener 2 champs MIME

Messagepar roubech » 27 Fév 2013 à 21:52

Y a pas une methode getContentAsHtml pour récupérer le contenu du mail et y ajouter le code html de ton lien avant de générer l'unique partie MIME de ton mail ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Re: Concatener 2 champs MIME

Messagepar fripouille76 » 28 Fév 2013 à 15:35

roubech a écrit:Y a pas une methode getContentAsHtml pour récupérer le contenu du mail et y ajouter le code html de ton lien avant de générer l'unique partie MIME de ton mail ?


J'ai rien trouvé sur ta méthode mais une méthode permet effectivement, cela par contre d'après ce que j'ai essayé et compris, c'est bien quand tu crée le contenu de A à Z.
Mais quand tu tente d'ajouter un morceau a un champ ayant déjà un contenu, ca l'écrase.
bref, j'ai modifié ma façon de procéder et j'ai enfin réussi à faire ce que je souhaitais.

Voici ma procédure

- Creation d'un masque Formulaire nommé "Modele" (le nom on s'en tape tant qu'il ne s'appelle pas "MEMO")
- Dans ce formulaire j'ai un champ Text Rich qui permet de saisir le contenu a envoyer
- A la sauvegarde du formulaire, je crée un Champ de Type Mime s'appellant "body" qui contient mon lien Href en html

- lors de l'envoi de mon mail, je crée un form "Memo" qui correspond à un masque qui contient essentiellement les champs destinés au Mémo (Body, recipient, subject etc...)
- ensuite je reconstruit le champ Body de MEMO avec : le contenu du champ text Rich de modele auquel j'ajoute le contenu du champ body MIME. (j'utilise pour cela "AppendRTITem" de la class NotesRichTextItem)
- Ensuite je converti l'ensemble du doc MEMO en mime (doc.convertMime(2)), je sauvegarde mon doc et je le copie tel quel dans la mail.box.
Qui voyant un doc nommé Mémo avec tous les champs nécessaire le root, pour ma part c'est la seule manière que j'ai trouvé pour avoir un rendu propre et identique que ce soit sous serveur Domino et autre Bal externe (Hotmail, Yahoo etc..)


voila en espérant que ca aide quelqu'un,
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19


Retour vers Développement

cron