Jeg bruger ofte doc.send() til at sende en mail fra Lotus Script. Hvis dette gøres fra klienten og brugeren benytter “Recent Contacts” og “Exhaustively check all address books” så kan der opstå Ambigious names (dupletter med forskellige email adresse).
Hvis der sendes til én modtager og navnet er ambigious – så kommer der en fejl, der kan fanges med ‘On error 4295 goto…’ Hvis der derimod sendes til flere modtagere og blot en af adressene virker – så bliver alle ambigious names ignoreret! Dvs. modtagerne får ingen mail – og afsenderen får ingen fejl.
Dette kan dog løses ved at appende et @domain navn til alle email adresser. Dermed bliver navnet ikke resolvet på klienten, men først på serveren hvor problemet ikke findes.
I stedet for doc.send false så kan vi bruge doc.send false, fixRecipients( doc.sendto )
%REM Due to a bug in Notes, Technote 1153854 and the SPR# EMMS2YMU3J: - https://www-304.ibm.com/support/docview.wss?uid=swg21316108 %END REM Function fixRecipients( source As Variant ) As Variant Dim session As New NotesSession If session.Isonserver Then GoTo done 'not nessesary on the server (client fix only) Dim i As Integer If Not IsArray( source ) Then source = Split( source, "!#¤%&" ) Dim s As String For i = 0 To UBound( source ) s = source( i ) s = session.Createname(s).Abbreviated If InStr( 1, s, "/DomainName", 5 ) > 0 And InStr( s, "@" ) = 0 Then s = s & "@DomainName" source( i ) = s End If Next done: fixRecipients = source End Function
Links
- https://www-304.ibm.com/support/docview.wss?uid=swg1LO53105
- https://www-304.ibm.com/support/docview.wss?uid=swg21153854
- Technote 1153854 and the SPR# EMMS2YMU3J