Bueno, esto es una de las cosas que siempre nos hemos preguntado, ¿Por qué no puedo escoger la dirección de envío de un correo cuando tengo asignada más de una dirección de Internet? El tema es, principalmente, porque el campo remitente lo cogemos de la ubicación del usuario, y el proceso de envío pone el valor de la ubicación en el último momento.  
 Las posibles soluciones son: 
 
 Solución 1 SCRIPT   Un 
script que coloque el correo directamente en el 
mail.box,y ahí le pongo el campo necesario. De esta manera no hago un envío nativo, sino que creo un correo en el mail.box del servidor. 
 
 Solución 2 Gestión de Ubicaciones   Otra solución, es crearle al usuario distintas ubicaciones cada una de ellas con la dirección de Internet correspondiente. Y “educar” al usuario para que cambie de gorra (ubicación) cuando quiere mandar un correo con una u otra dirección de Internet. 
 
 Solución ESLUG (3)     Crearemos un campo que nos diga el UNID del documento de Ubicación que está usando el usuario, este campo lo llamaremos LOCATIONID y tendrá como valor la siguiente fórmula 
 
 @Text(@LocationGetInfo([UNID]))    Crearemos un campo desplegable en el formulario MEMO (más tarde lo podemos crear en el REPLY, etc) que haga lo siguiente.  
 1 . Busque en el names.nsf cuántas y cuáles son las direcciones de correo del usuario y se las muestre en el desplegable. 
 2 . Que tenga como valor por defecto la dirección que hay en la ubicación en ese momento 
 3 . Que al seleccionar la dirección que quiere utilizar se actualice el valor en la ubicación y por lo tanto en el envío   
   El valor por defecto de este campo sería 
@LocationGetInfo([InternetMailAddress])   En la lista de valores posibles del 
comboboxcolocaremos la siguiente fórmula: 
 
 lista:=@Unique(@DbLookup("":"NOCACHE";@Subset(@MailDbName;1):"names.nsf";"($Users)";@UserName;"fullname"): 
 @DbLookup("":"NOCACHE";@Subset(@MailDbName;1):"names.nsf";"($Users)";@UserName;"internetaddress")); 
 temp := ""; 
 @For(n := 1; n <= @Elements(lista); n := n + 1; 
 @If(@Contains(lista[n];"@");temp := temp:lista[n];temp:=temp)); 
 @Sort(@Trim(temp))  Que básicamente lo que hace es buscar al usuario en el names.nsf del servidor, extraer la lista de valores del fullname+internetaddress, limpiarla para coger sólo los valores con @ y ordenarla.  
 Ahora en el Evento Onchange de ese campo pondremos el 
script que modifica la ubicación del usuario 
 
 Sub Onchange(Source As Field) 
    Dim dbnames As NotesDatabase 
    Dim doclocation As NotesDocument 
    Dim s As New notessession 
    Set dbnames=s.GetDatabase("","names.nsf") 
    Dim unid As String 
    Dim workspace As New NotesUIWorkspace 
    Dim uidoc As NotesUIDocument 
    Set uidoc = workspace.CurrentDocument 
        unid=uidoc.FieldGetText( "locationID" ) 
    Set doclocation=dbnames.GetDocumentByUNID(unid) 
    doclocation.imailaddress=uidoc.FieldGetText( "remitente" ) 
    Call doclocation.Save(True,False) 
    Call workspace.EditDocument(True, doclocation) 
    Dim uidoc2 As NotesUIDocument 
    Set uidoc2 = workspace.CurrentDocument 
    Call uidoc2.Reload 
    Call uidoc2.Save 
    Call uidoc2.Close(True) 
 End Sub    Con todo esto cuando vayamos a mandar un correo podremos ver con qué dirección se está enviando y podré cambiarla al gusto. Podríamos mejorarlo, ocultando este campo si la lista de direcciones no es mayor que 1, etc. Pero eso será en otra ocasión. 
 
 Ni que decir tiene que esto no está soportado oficialmente, que solo funciona para NOTES y que aquel que lo implemente lo hace bajo su propio riesgo.   A continuación se detalla más información sobre las 
fórmulas no documentadas que utilizamos para sacar valores de la ubicación. 
 
 http://www-01.ibm.com/support/docview.wss?rs=0&uid=swg21094302 
 
 http://planetlotus.org/profiles/assonos-blog_55702   Saludos  
Lotus Notes