begin process at 2008 07 09 03:18:58
1 207 190 membres
36 nouveaux aujourd'hui
14 130 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 [ Réseau et Internet / Général ] (flocla)

ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 23/01/2007 10:48:14

flocla
Bonjour a tous,

Voila, j'ai un problème pour envoyé un Mail HTML en passant par l'API de Lotus Notes 6 "Notes.NotesSession". J'ai récupéré certaines fonctions qui me permettent de créer un message texte normal et la possibilité de joindre une pièce jointe, mais je n'ai pas la fonction ou la commande me permettant d'obliger Lotus Notes a interpreter le code HTML et a l'affiché lors de l'ouverture du message, il reste en texte, la fonction body me semble incapable de le faite et je me retrouve avec un message contenant l'intégralité des codes HTML non interprété. Existe t'il une fonction ou une astuce dans "Notes.NotesSession" permettant de faire ça.

Voici le petit programme en Foxpro 6 qui me permet d'envoyer des messages uniquement en mode "texte" pour l'instant. Pouvez vous me venir en aide, je vous en remerci d'avance.

procedure eMail 
   parameter VpcTitre, VpcAdresse, VpcTexte, VpcPieceJ
   *** Déclaration de l'objet
   oSess = createObject("Notes.NotesSession")
   oDB = oSess.GETDATABASE("","")
   oDB.OPENMAIL
   Flag = .T.
   oDB.OpenMail
   if !oDB.IsOpen
      Flag = oDB.Open("","")
   endif
   if Flag = .F.
      =messagebox("Impossible d'ouvrir Lotus Notes : " + oDB.Serveur + " " + oDB.Filepath)
      do exit_SendAttachement
   endif
   *** Ecriture du message
   oDoc = oDB.CREATEDOCUMENT
   oItem = oDoc.CREATERICHTEXTITEM("BODY")
   oDoc.form = "Memo"
   oDoc.Subject = VpcTitre
   oDoc.SendTo = VpcAdresse && exemple "adresse@adresse.fr"
   oDoc.Body = VpcTexte
   oDoc.PostDate = date()
   *** Attache de la pièce jointe
   if !empty(VpcPiecej)
      oItem.EmbedObject(1454,"",VpcPieceJ)
      oDoc.visable = .T.
   endif
   *** Envoie du message
   oDoc.Send(.F.)
   oSess = ""
   oDB = ""
   oDoc = ""
   oItem = ""
   release oSess
endproc

Re : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 23/01/2007 19:09:36

Mike Gagnon
Membre Club
Pas si facile que cela et vu que je n'ai pas Lotus notes sur mon systeme c'est encore plus difficile. Mais l'idée est de 'batir' le corps du message en utilisant le Stream de ta variable oSess. et en lui ajoutant un 'header' comme "text/html;charset=iso-8859-1",



Mike Gagnon

Re : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 24/01/2007 10:54:00

flocla
Que veux tu dire par utiliser le stream de oSess ?

Re : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 24/01/2007 11:52:48

Mike Gagnon
Membre Club
				loSession = CREATEOBJECT( "Lotus.NotesSession" )
loStream = loSession.CreateStream()
loStream.WriteText( lcBody )



Mike Gagnon

Re : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 24/01/2007 15:05:21

flocla
Merci je vais essayer

Re : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 24/01/2007 15:13:56

flocla
Non ça ne fonctionne pas, merci quand même.

Re : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 25/01/2007 14:33:17

Mike Gagnon
Membre Club
Je ne comprends pas ton commentaire. Cette technique fonctionne pourtant. Peux-tu poster ton code pour voir ce qui ne va pas.

Mike Gagnon

Re : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 27/01/2007 14:44:35

flocla
Je n'avais pas vu correctement le code la dernière fois, je vais essayer lundi au travail, je n'ai pas lotus chez moi, encore merci de m'avoir mis sur la voix. Je laisserai un petit message pour la suite de l'essai.

Re : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 29/01/2007 08:10:53

flocla
Voici le nouveau code que j'ai essayé suite a tes conseils, les deux lignes de codes supplémentaire en bleu ne créent pas d'erreur, mais ça ne fonctionne toujours pas, j'ai toujours le texte du message non interprété.

procedure eMail 
   parameter VpcTitre, VpcAdresse, VpcTexte, VpcPieceJ
   *** Déclaration de l'objet
   oSess = createObject("Notes.NotesSession")
   loStream = oSess.CreateStream()
   loStream.WriteText("text/html;charset=iso-8859-1")
   oDB = oSess.GETDATABASE("","")
   oDB.OPENMAIL
   Flag = .T.
   oDB.OpenMail
   if !oDB.IsOpen
      Flag = oDB.Open("","")
   endif
   if Flag = .F.
      =messagebox("Impossible d'ouvrir Lotus Notes : " + oDB.Serveur + " " + oDB.Filepath)
      do exit_SendAttachement
   endif
   *** Ecriture du message
   oDoc = oDB.CREATEDOCUMENT
   oItem = oDoc.CREATERICHTEXTITEM("BODY")
   oDoc.form = "Memo"
   oDoc.Subject = VpcTitre
   oDoc.SendTo = VpcAdresse && exemple "adresse@adresse.fr"
   oDoc.Body = VpcTexte
   oDoc.PostDate = date()
   *** Attache de la pièce jointe
   if !empty(VpcPiecej)
      oItem.EmbedObject(1454,"",VpcPieceJ)
      oDoc.visable = .T.
   endif
   *** Envoie du message
   oDoc.Send(.F.)
   oSess = ""
   oDB = ""
   oDoc = ""
   oItem = ""
   release oSess
endproc

Re : ENvoie de Mail HTML par programme avec "Notes.NotesSession" de Lotus Notes 6 le 29/01/2007 14:18:19

Mike Gagnon
Membre Club
Il te manque le Body qui doit aussi aller avec le Stream.

loMaildb = loSession.getdatabase(lcServer, lcMaildbName )
* create a document/email for the mail database
loMaildoc = loMaildb.CreateDocument()

* Who do we send it to
loMaildoc.ReplaceItemValue( "Form", "Memo" )
IF !EMPTY( laSendTo )
loMaildoc.ReplaceItemValue( "SendTo", @laSendTo )
ENDIF
IF !EMPTY( laCC )
loMaildoc.ReplaceItemValue( "CopyTo", @laCC )
ENDIF
IF !EMPTY( laBcc )
loMaildoc.ReplaceItemValue( "BlindCopyTo", @laBcc )
ENDIF

* The subject
loMaildoc.replaceitemValue( "Subject", lcSubject )

* The Body
loStream = loSession.CreateStream()
loStream.WriteText( lcBody )
* The Body MIME type
loBodyMime = loMailDoc.CreateMIMEEntity()
loBodyMime.SetContentFromText( loStream, "text/html;charset=iso-8859-1", .f. )


Mike Gagnon


[Page 1 Page 2]
Classé sous : html, notes, odb, odoc, notessession

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS