sábado, 6 de noviembre de 2010

Exchange, Correo, email, redirección, Iphone…etc

 

Si donde trabajas tienen un servidor de Correo de Exchange con las siguientes características:

  • Que NO tenga el servicio de ActiveSync activado ó que no se te permita usarlo
  • Que NO tenga IMAP activado ó que no se te permita usarlo
  • Que NO tenga POP Activado
  • Que NO permita crear una regla que rediriga todos los correos a un email externo

Y quieres ver tus emails en tu IPHONE , una opción es hacer lo siguiente:

Tener una PC en la red/dominio donde se tiene el servidor de Exchange con Outlook 20003 (donde supongo ves tus correos normalmente en tu oficina) , en esta HAY que ACTIVAR una MACRO  (programación de Outlook en VBA) que va a redirigir los correos entrantes como si lo hicieras manualmente, es decir NO por medio de una regla….. Haciéndolo de este modo no se detecte el auto-envio y no se bloquean para así llegar de manera correcta a tu IPHONE, HTC, PDA, etc el cual , claro, deberá de tener configurada la cuenta de donde ESTAS recibiendo tus correos que han sido reenviados desde tu PC de oficina.

Los contras son, primero Claro que tu PC de oficina deberá de estar encendida todo el tiempo para que realice esta función porque éste programita NO estará corriendo en el servidor sino en TU PC de OFICINA que deberá tener el Outlook abierto , aunque la PC esté lockeada…Otro contra es que los emails los vas a recibir como REDIRECCIONADOS, es decir si quieres contestar a TODOS , pues no habrá un “todos” porque vendrá de tu correo propio y contestaras desde la cuenta que tengas configurada en el IPHONE.

Para mi caso si funciona bien así porque lo único que yo requiero con mis emails de oficina es verlos en mi IPHONE por si llegó algo importante que me requiera hablar por teléfono ó mandar un email directamente a la persona involucrada. Si usted requiere total integración de su email corporativo con su IPHONE debe de tener activada alguna de las opciones listadas arriba en su servidor de Exchange.

 

Aqui va el COMO hacer lo anteriormente descrito

OPCION 1: Que TODOS los emails que lleguen se redirigan a una cuenta externa (ya sea gmail, yahoo, etc) 

En el OUTLOOK seleccionar lel MENU HERRAMIENTAS – MACRO – EDITOR DE VISUAL BASIC

image

con lo que abrirá una ventana de Edición de programación del OUTLOOK

image

Aquí hay que copiar el siguiente CODIGO (la ventana debe estar VACIA previamente)

--------------------------------------------

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim varEntryIDs
Dim objItem
Dim i As Integer
Dim fwdItem As Outlook.MailItem

On Error Resume Next

varEntryIDs = Split(EntryIDCollection, ",")
For i = 0 To UBound(varEntryIDs)
   Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))

   Set fwdItem = objItem.Forward

   fwdItem.Recipients.Add “sucorreo@loquesea.com
   fwdItem.Send
Next
End Sub

--------------------------------------

Ahora vaya a DEPURACION –COMPILAR , no le deben salir errores

image

Luego Archivo – Cerrar y Volver a Offire Outlook

image

y Listo, ya debe de estar recibiendo a partir de este momento TODOS los emails que reciba

 

OPCION 2: Que solamente se vayan los correos a la redirección cuando la computadora este BLOQUEADA, es decir mientras esté usando la computadora no se van a redirigir (para que si ahí estas sentado), pero cuando te vayas bloquea con CTRL-ALT-DEL y bloquear ó dentro del windows haz que entre en bloqueo la PC cuando no la estés usando por un tiempo que tu determines.

Todos los pasos son iguales a la OPCION 1 anterior, lo único diferente es que en lugar de usar el código de arriba , se utiliza el que viene aqui abajo

 

------------------------

Option Explicit

Private Declare Function SwitchDesktop Lib "user32" (ByVal hDesktop As Long) As Long
Private Declare Function OpenDesktop Lib "user32" Alias "OpenDesktopA" (ByVal lpszDesktop As String, ByVal dwFlags As Long, ByVal fInherit As Long, ByVal dwDesiredAccess As Long) As Long
Private Declare Function CloseDesktop Lib "user32" (ByVal hDesktop As Long) As Long
Private Declare Function SystemParametersInfo _
Lib "user32" Alias "SystemParametersInfoA" _
(ByVal uiAction As Long, _
ByVal uiParam As Long, _
ByRef pvParam As Any, _
ByVal fWinIni As Long) As Long

Private Const SPI_GETSCREENSAVERRUNNING As Long = 114&
Private Const DESKTOP_SWITCHDESKTOP As Long = &H100

Private Function isLocked() As Boolean

Dim p_lngHwnd As Long
Dim p_lngRtn As Long
Dim p_lngErr As Long
Dim p_lngScreenSaver As Long

isLocked = False

p_lngRtn = SystemParametersInfo(uiAction:=SPI_GETSCREENSAVERRUNNING, _
uiParam:=0&, _
pvParam:=p_lngScreenSaver, _
fWinIni:=0&)
p_lngHwnd = OpenDesktop(lpszDesktop:="Default", dwFlags:=0, fInherit:=False, dwDesiredAccess:=DESKTOP_SWITCHDESKTOP)

If p_lngRtn = 0 Then
Debug.Print Now & ": Error con screensaver: " & Err.LastDllError
ElseIf CBool(p_lngScreenSaver) Then
Debug.Print Now & ": Screen saver corriendo: " & Err.LastDllError
isLocked = True
ElseIf p_lngHwnd = 0 Then
Debug.Print Now & ": Error con OpenDesktop: " & Err.LastDllError
Else
p_lngRtn = SwitchDesktop(hDesktop:=p_lngHwnd)
p_lngErr = Err.LastDllError

If p_lngRtn = 0 Then
If p_lngErr = 0 Then
Debug.Print Now & ": Desktop bloqueada: " & Err.LastDllError
isLocked = True
Else
Debug.Print Now & ": Error con Switchdesktop: " & Err.LastDllError
End If
Else
Debug.Print Now & ": Not Bloqueado! " & p_lngRtn
End If

p_lngHwnd = CloseDesktop(p_lngHwnd)
End If
End Function

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim varEntryIDs
Dim objItem
Dim i As Integer
Dim bSend As Boolean
Dim fwdItem As Outlook.MailItem

On Error Resume Next

bSend = False

bSend = isLocked

If bSend Then
varEntryIDs = Split(EntryIDCollection, ",")
For i = 0 To UBound(varEntryIDs)
Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))

Set fwdItem = objItem.Forward

fwdItem.Recipients.Add “sucorreo@loquesea.com
fwdItem.Send
Next
End If
End Sub

-----------------------

NOTA:

Este Código me funcionó a mi tal cual está mostrado aquí, se probó con un OUTLOOK 2003 dentro de un dominio de una empresa. Funciona a la primera si sabe utilizar el VBA de Outlook, sino tiene experiencia le recomiendo que pida la ayuda de una persona de sistemas cercana a usted, sino no lo use porque puede afectar a la funcionalidad de su correo.

 

----Brief in English  ----  

Here is the How redirect Exchange email to IPHONE , if all other options as IMAP, ACTIVESYNC, POP, REDIRECT/resend using rules  are BLOCKED or you are not allowed to use them… Written in spanish.

No hay comentarios:

Publicar un comentario