Как получить доступ к текущему зарегистрированному адресу электронной почты пользователя в лотосе? - PullRequest
1 голос
/ 30 апреля 2020

Я ищу, чтобы найти адрес электронной почты текущего пользователя клиента заметок, который вошел в систему программно. Есть ли способ сделать это? Я получаю доступ к имени пользователя через сеанс, но мне нужен адрес электронной почты Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 30 апреля 2020

Из базы данных справки, часть примера метода getMailInfo:

Dim session As New NotesSession
Dim db As NotesDatabase
Dim mynotesdir As NotesDirectory
Set mynotesdir  = session.getDirectory("server name")    
Dim homeserver As Variant

homeserver =  mynotesdir.GetMailInfo(session.UserName, True) ' or EffectiveUserName
Msgbox "internetMailAddress: " + Cstr(homeserver(7))
0 голосов
/ 30 апреля 2020

Вам нужно будет найти адрес электронной почты в адресной книге (-ах) организации (names.nsf).

Вот немного измененный код из справки Designer, где вы используете s. Имя пользователя используется для поиска в адресной книге (ах) адреса электронной почты.

Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim books As Variant
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim done As Variant
    Dim person As String

    books = session.AddressBooks
    done = False

    Forall b In books
      ' check every Domino Directory,
      ' unless we're already done
      If ( b.IsPublicAddressBook ) And ( Not done ) Then
        Call b.Open( "", "" )
        ' look up person's last name
        ' in People view of address book
        Set view = b.GetView( "($People)" )
        Set doc = view.GetDocumentByKey( session.Username )
        ' if person is found, display the email address  
        ' from the Person document
        If Not ( doc Is Nothing ) Then
          Messagebox( "Email for " + person " is " + doc.InternetAddress( 0 ) )
          done = True
        End If
      End If
    End Forall

  ' if done is still False, the person wasn't found
    If Not done Then
      Messagebox( "Sorry, unable to locate person's email." )
    End If
  End Sub
...