Page 1 sur 1

lien messagerie

MessagePublié: 09 Juil 2003 à 08:51
par dandine
Salut, je suis en train de faire un intranet sur Lotus Notes 5 et j´ai un petit problème : voilà, sur plusieurs pages de mon site, l´utilisateur doit s´identifier avec un login et un password pour accéder à ces pages. Il faudrait que lorsqu´il arrive sur ces pages, un lien vers sa messagerie Notes apparaisse. En fait il faut que je trouve l´instruction qui me permette de récupérer le nom de la personne qui s´identifie afin de faire le lien avec sa messagerie. Je ne sais vraiment pas comment m´y prendre. Toutes les personnes qui s´identifient sont le personnel de la boîte dont je fais l´intranet. Leurs adresses de messagerie sont dans le carnet de Lotus Notes. Je vous remercie d´avance si vous pouviez m´aider.

Re: lien messagerie

MessagePublié: 09 Juil 2003 à 09:39
par Droad
Il te faut écrire un agent LS, du genre:dim session as New NotesSessiondim urlmail as stringurlmail = Moulinette(session.EffectiveUsername) 'je détaille pasPrint "Location: "+urlmailImportant: dans les propriétés de l'agent, cocher l'option "Exécuter avec les droits de l'utilisateur Web". Yapluka faire un lien vers l'agent (http://.../agentmail?openagent).[%sig%]

Re: lien messagerie

MessagePublié: 09 Juil 2003 à 10:14
par dandine
Merci déjà de ta réponse mais ce n'est pas encore très clair : je ne vois pas où il faut que j'écrive ce morceau de code. Et quand tu dis "je ne détaille pas"...Excuse moi mais je suis vraiment débutante en lotus.

Re: lien messagerie

MessagePublié: 09 Juil 2003 à 10:51
par Droad
Ok, je détaille ...[%sig%]

Re: lien messagerie

MessagePublié: 09 Juil 2003 à 11:45
par Droad
1) Dans ta base intranet, crée un agent nommé "bal", lotusscript, partagé, exécuter une fois2) Met ça dans sa procédure initialize:Sub Initialize On Error Goto handle_error Dim session As New NotesSession Dim username As String, nname As NotesName Set nname = New NotesName(session.EffectiveUsername) username = nname.Abbreviated Dim personDoc As NotesDocument, serverDoc As NotesDocument Dim view As NotesView Dim books As Variant, book As NotesDatabase '-- Recupérer le doc Person de l'utilisateur books = session.AddressBooks Forall b1 In books Set book = b1 If book.IsPublicAddressBook Then If Not book.IsOpen Then Call book.Open("","") Set view = book.GetView("($NamesFieldLookup)") If Not view Is Nothing Then Set personDoc = view.GetDocumentByKey(username,True) If Not(personDoc Is Nothing) Then Exit Forall End If End If End Forall If personDoc Is Nothing Then Error "8001", username & " n'est référencé dans aucun carnet d'adresse" End If Dim mailfile As String, mailserver As String mailserver = personDoc.mailServer(0) mailfile = personDoc.mailFile(0) If Len(mailserver)=0 Or Len(mailfile)=0 Then Error "8001", "Le serveur ou la base mail de " & username & " n'est pas renseigné dans sa fiche." End If '-- Recupérer le doc Server du serveur de mail Forall b2 In books Set book = b2 If book.IsPublicAddressBook Then If Not book.IsOpen Then Call book.Open("","") Set view = book.GetView("($ServersLookup)") If Not view Is Nothing Then Set serverDoc = view.GetDocumentByKey(mailserver,True) If Not(serverDoc Is Nothing) Then Exit Forall End If End If End Forall If serverDoc Is Nothing Then Error "8001", mailserver & " n'est référencé dans aucun carnet d'adresse" End If '-- adresse ip du serveur Dim mailhost As String mailhost = Trim(serverDoc.HTTP_HostName(0)) If Len(mailhost)=0 Then Error "8001", "Le nom d'hôte du serveur " & mailserver & " n'est pas renseigné dans sa fiche." End If '-- remplacer les espaces et les antislashes dans le chemin d'accés à la base Dim i As Integer For i=1 To Len(mailfile) Select Case Mid$(mailfile,i,1) Case " " Mid$(mailfile,i)= "+" Case "\" Mid$(mailfile,i)= "/" End Select Next If Instr(mailfile,".")=0 Then mailfile = mailfile + ".nsf" Dim mailurl As String mailurl = "http://"+mailhost+"/"+mailfile '-- redirection vers la base mail Print "Location: " & mailurl Exit Sub handle_error: Print "<font color='red'>" & Error$ & " (ligne " & Erl & ")</font>" Resume donedone:End Sub3) Dans les propriétés de l'agent, coche la case "For web access - Run agent as Web user"4) Dans une page de ton site, met un lien: http://serveur/baseintranet.nsf/bal?openagent5) Rem: ça fonctionne dans une architecture simple. Si, par exemple, les bases mail sont repliquées dans une DMZ, il n'y a plus de correspondance entre le serveur précisé dans les documents utilisateurs et celui auquel ils accédent via le web.[%sig%]

Re: lien messagerie

MessagePublié: 09 Juil 2003 à 14:52
par dandine
je te remercie beaucoup. Tu me sauves presque la vie!