Cómo seleccionar la direccion de envío cuando tengo más de una dirección de Internet
Daniel Recio - 28/09/2010

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

Image:Cómo seleccionar la direccion de envío cuando tengo más de una dirección de Internet


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
1
Danisoft
28/09/2010 19:13:12

Estaria bien que luego lo pusiera aqui o en el foro

2
Danisoft
28/09/2010 17:51:47

Por cierto, esto funciona desde la version 5, o anterior

3
Albert Buendía
28/09/2010 18:10:35

Muy buen artículo. Estoy seguro que más de uno le va a sacar provecho.

4
Danisoft
09/10/2010 0:42:53

Hola Fran, conteste al email de tu pregunta pero no he recibido respuesta, ya me diras que necesitas, si quieres puedes ponerlo en el foro o mandarme un correo a dani@pixelout.com .

5
Fran
08/10/2010 23:13:56

Dios te lo pague.

Una de las cosas que los que domináis no os dáis cuenta es de que los newbies en Lotus no tenemos herramientas para amar el producto. Cuando coges Access, por ejemplo, MS tiene un portal entero de ejemplos, fotos, tutoriales y demás para enseñarte. En Lotus tenemos la fea web de IBM llena de gente que al dominar, habla de Tivoli y de tráfico.

Pero yo sólo quiero enviar un correo desde una dirección.

Es triste tener que guardar algo de un post en un blog cuando tengo claro que no es algo a tener colgado así. Tendría que estar en un tutorial profundamente detallado para gente como yo.

Y CONSTE, estoy esperando a que me respondáis cómo contactar con Daniel Recio para que me ayude a poner esto sin cargarme el template de eproductivity, y le he puesto que le invito a algo con Paypal. O sea, quien diga que los newbies estamos de adorno, miente.

6
Danisoft
09/10/2010 0:48:25

Releyendo tu comentario, no entiendo muy bien esto "Es triste tener que guardar algo de un post en un blog cuando tengo claro que no es algo a tener colgado así. Tendría que estar en un tutorial profundamente detallado para gente como yo."

Se me ocurre que expongas sin miedo todas tus dudas de newbie en el foro y me apuesto lo que quieras a que todas tendran respuesta.

En mi opinion, mucha gente mira y toma nota, pero no se atreve a preguntar, no se por que. Hoy hemos resuelto un tema chulo en el foro y alguien se ha ido contento.

Y a lo mejor de ahi con todo eso , pues hacemos un tutorial....

Deja tu comentario

Cómo seleccionar la direccion de envío cuando tengo más de una dirección de Internet