Archivo de la etiqueta: outlook

Fichero de firmas para Outlook con Autoit

Bueno, parece ser que alguien si está interesado en crear una firma corportiva para todos los usuarios.

El procedimiento lo podemos dividir en dos fases:

  • Creacion de los ficheros que contienen las firmas mediante ejecutable de autoit que todos los usuarios ejecutan mediante el script de login al dominio. Mediante el siguiente script compilado recogemos los datos del Active Directory y los utilizamos para crear la firma en tres formatos, html, rtf y txt. Los tres formatos se crean para que según tengamos configurado nuestro outlook en uno o otro formato (html, rtf o txt) siempre exista el fichero de firmas a cargar.


#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=X:\Scripts\Au3\EmailSign\EmailSign.ico
#AutoIt3Wrapper_outfile=X:\Scripts\Au3\EmailSign\EmailSign.exe
#AutoIt3Wrapper_Res_Description=Crea la firma para el perfil de outlook
#AutoIt3Wrapper_Res_Fileversion=1.1.0.0
#AutoIt3Wrapper_Res_LegalCopyright=David Suárez
#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%
#AutoIt3Wrapper_Res_Field=Fecha|%date% %time%
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****


#include <GUIConstants.au3>
#include <Misc.au3>
#include <File.au3>
#include <Process.au3>
#include <Constants.au3>
#include <string.au3>

Dim $UserObj
Dim $sigpath                = ( @AppDataDir &'\microsoft\signatures' )
Dim $sigpathOffice2007      = ( @AppDataDir &'\Microsoft\Firmas' )
Dim $msg
Dim $msg1
Dim $msg2
Dim $domain = @LogonDomain
Dim $username = @UserName
Const $ADS_NAME_INITTYPE_GC = 3
Const $ADS_NAME_TYPE_NT4 = 3
Const $ADS_NAME_TYPE_1779 = 1

$oMyError = ObjEvent("AutoIt.Error", "ComError")
$objRootDSE = ObjGet("LDAP://RootDSE")
; DNS domain name.
$objTrans = ObjCreate("NameTranslate")
$objTrans.Init ($ADS_NAME_INITTYPE_GC, "")
$objTrans.Set ($ADS_NAME_TYPE_1779, @LogonDomain)
$objTrans.Set ($ADS_NAME_TYPE_NT4, @LogonDomain & "\" & @UserName)
$strUserDN = $objTrans.Get ($ADS_NAME_TYPE_1779)
$UserObj = ObjGet("LDAP://" & $strUserDN)
DIM $fullname                = $UserObj.FullName
DIM $title                    = $UserObj.title
DIM $description            = $UserObj.description
DIM $emailaddress            = $UserObj.mail
DIM $officenumber            = $UserObj.TelephoneNumber
Dim $otherFax                = $UserObj.facsimileTelephoneNumber

Dim $Disclaimer                = ("Cuidemos del medio ambiente. Por favor no imprima este correo si no es necesario.")
Dim $Defaultsigname            = ("DefaultSign")
Dim $sigrtf                    = ("DefaultSign.rtf")
Dim $sightm                    = ("DefaultSign.htm")
Dim $sigtxt                    = ("DefaultSign.txt")

If FileExists (@ProgramFilesDir & '\Microsoft Office\Office12\outlook.exe') Then    $sigpath = $sigpathoffice2007

If Not FileExists ( $sigpath &'\'& $sigrtf) Then Call ("make_rtf")
If Not FileExists ( $sigpath &'\'& $sigtxt) Then Call ("make_txt")
If Not FileExists ( $sigpath &'\'& $sightm) Then Call ("make_html")

Func make_rtf ()
$filename1 = $sigpath & '\' & $sigrtf
$msg1 &= "{\rtf1\ansi\ansicpg1252\deff0\deflang2057{\fonttbl{\f0\fswiss\fcharset0 Arial;}}"& @CRLF
$msg1 &= "\viewkind4\uc1\pard\f0\fs20 -- \par"& @CRLF
$msg1 &= "Rmte.: " & $title & " "&$fullname & "\par"& @CRLF
$msg1 &= $description & "\par"& @CRLF
$msg1 &= "Email: " & $emailaddress & "\par"& @CRLF
$msg1 &= "Tel: 91 888 88 88 Ext. " & $officenumber & "\par"& @CRLF
If $otherFax<>'' Then $msg1 &= "Fax Servicio: " & $otherFax &"\par"& @CRLF
$msg1 &= "Fax: 91 888 88 58 \par"& @CRLF
$msg1 &= "C. Direccion, 42 \par"& @CRLF
$msg1 &= "28001 (Madrid) \par"& @CRLF
$msg1 &= "http://www.tuweb.com \par"& @CRLF
$msg1 &= $Disclaimer & "\par"& @CRLF
$msg1 &= "}"
FileWrite($filename1, $msg1 )
EndFunc

Func make_html ()
$filename = $sigpath & '\' & $sightm
If Not FileExists ( $sigpath &'\smalllogo.gif') Then FileInstall("X:\Scripts\Au3\EmailSign\smalllogo.gif", $sigpath & '\smalllogo.gif')
$msg &= "<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">"& @CRLF
$msg &= "<html xmlns=""http://www.w3.org/1999/xhtml"" ><style type=""text/stylesheet"" media=""screen"">a:link, a:visited, a:hover, a:active { font-size:7.5pt;font-family:Verdana,sans-serif;color:#4E5C64; }</style>"& @CRLF
$msg &= "<BODY>"& @CRLF
$msg &= "<div style=""font-size:7.5pt; font-family:Verdana, sans-serif; color: #4E5C64"">"& @CRLF
$msg &= "<p>Rmte.: <strong>" & $title & " "& $fullname & "<br/>"& @CRLF
$msg &= $description & "</strong><br/>"& @CRLF
$msg &= "Email: <a href=""mailto:" & $emailaddress & """>" & $emailaddress & "</a><br/>"& @CRLF
$msg &= "Tel: <strong> 91 888 88 88</strong> Ext. <strong>" & $officenumber& "</strong><br />"& @CRLF
If $otherFax<>'' Then $msg &= "Fax Servicio: <strong>" & $otherFax & "</strong><br />"& @CRLF
$msg &= "Fax General: <strong> 91 888 88 58</strong><br />"& @CRLF
$msg &= "<IMG alt='' hspace=0 src='smalllogo.gif' align='baseline' border='0'><br/>"& @CRLF
$msg &= "C. Direccion, 42<br />"& @CRLF
$msg &= "28001 (Madrid)<br />"& @CRLF
$msg &= "<a href=""http://www.tuweb.com"" style=""color:#4E5C64;"">http://www.tuweb.com</a></p>"
$msg &= "<p style=""font-size:8pt;color: #669900"">" & $Disclaimer & "</p>"
FileWrite($filename, $msg )
EndFunc

Func make_txt ()
$filename2 = $sigpath & '\' & $sigtxt
$msg2 &= "-- " & @CRLF
$msg2 &= "Rmte.: " & $title & " " & $fullname & @CRLF
$msg2 &=  $description & @CRLF
$msg2 &= "Email: " & $emailaddress & @CRLF
$msg2 &= "Tel: 91 888 88 88 Ext. " & $officenumber & @CRLF
If $otherFax<>'' Then $msg2 &= "Fax Servicio: " & $otherFax & @CRLF
$msg2 &= "Fax: 91 888 88 58"& @CRLF
$msg2 &= "C. Direccion, 42"& @CRLF
$msg2 &= "28001 (Madrid)"& @CRLF
$msg2 &= "http://www.tuweb.com"& @CRLF
$msg2 &= $Disclaimer
FileWrite($filename2, $msg2 )
EndFunc

;COM Error function
Func ComError()
If IsObj($oMyError) Then
$HexNumber = Hex($oMyError.number, 8 )
SetError($HexNumber)
Else
SetError(1)
EndIf
Return 0
EndFunc ;==>ComError

  • Indicarle a las estaciones mediante el Active Directory cual es la firma que han de cargar desde el directorio de firmas de cada ordenador.
    Esta parte la tengo explicada en el post Directiva AD de firma por defecto en Outlook 2007
    por lo que no volveré a hacerlo ahora.

Descarga el script de autoit desde aqui.

Directiva AD de firma por defecto en Outlook 2007

Seguramente si has llegado hasta este post te ha ocurrido lo mismo que a mi. Has migrado Microsoft Office a la versión 2007 y al intentar asignar una firma por defecto en la plantilla adm del active directory has encontrado que el apartado donde se encontraba ya no existe.

Bueno, en realidad la solución es muy sencilla y consiste en modificar la plantilla adm del Outlook 2007 (versión 12 de Office) y añadirle lo mismo que tenia la del Outlook 2003 modificando las rutas apropiadas.

Después de la política:

CATEGORY !!L_MailFormat
POLICY !!L_DisableSignatures
KEYNAME Software\Policies\Microsoft\Office\12.0\Common\MailSettings
VALUENAME DisableSignatures
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
EXPLAIN !!L_DisableSignaturesExplain
END POLICY

Debemos añadir:
CATEGORY "Signature"
POLICY "Disable signatures for new messages"
KEYNAME Software\Policies\Microsoft\Office\12.0\Common\MailSettings
PART "Disable signatures for new messages" CHECKBOX
VALUENAME NewSignature
VALUEON ""
END PART
END POLICY
POLICY "Disable signatures for replies and forwards"
KEYNAME Software\Policies\Microsoft\Office\12.0\Common\MailSettings
PART "Disable signatures for replies and forwards" CHECKBOX
VALUENAME ReplySignature
VALUEON ""
END PART
END POLICY
POLICY "Signature for new messages"
KEYNAME Software\Policies\Microsoft\Office\12.0\Common\MailSettings
PART "Signature for new messages" EDITTEXT
VALUENAME NewSignature

END PART
END POLICY
POLICY “Signature for replies and forwards”
KEYNAME Software\Policies\Microsoft\Office\12.0\Common\MailSettings
PART “Signature for replies and forwards” EDITTEXT
VALUENAME ReplySignature

END PART
END POLICY
END CATEGORY

Si te das cuenta es la misma que habia en “outlk11.adm” pero las rutas de las KEYNAME han cambiado de …Office\11.0\… a …Office\12.0\…

Esta plantilla combinada con una pequeña aplicación escrita en Autoit crea las firmas para todos los usuarios de la red.

A ver si escribo el post con la pequeña aplicación de Autoit que extrae información del Active Directory para crear la firma y ayudar a quien le pueda interesar. Si a alguien le urge esta aplicación que lo comente en este post pero lo pondré lo antes posible.

Actualización 18-Enero-2010: En el post Fichero de firmas para Outlook con Autoit podeis encontrar el script de Autoit al que hago mención.

Cómo administrar varias cuentas de buzones de Exchange en Outlook

Algunos usuarios tienen múltiples cuentas de correo electrónico en el mismo servidor Microsoft Exchange Server. A pesar de que sólo se puede tener una cuenta de Exchange Server en el perfil de correo, es posible acceder a todas sus cuentas de Exchange a la vez sin tener que seleccionar distintos perfiles a la hora de usar Microsoft Outlook y tener que acceder por separado a cada cuenta.

En este artículo se describe cómo configurar Outlook para acceder a dos o más buzones de Exchange Server en un solo perfil.

¿Cómo lo logramos?.

Para iniciar sesión en una cuenta de correo electrónico (cuenta A) y tener acceso al buzón de correo de una cuenta de correo electrónico (cuenta B), sigue estos pasos. Se supone que ambas cuentas están en el mismo servidor de Exchange.

Para Microsoft Outlook 2002 y 2003.

  • Inicia Outlook con un perfil que está configurado para el buzón de Exchange Server para la cuenta B. Es posible que tenga que iniciar sesión en la red como el usuario de cuenta B para una correcta validación.
  • En el menú herramientas, click en opciones
  • En la pestaña Delegados, haz clic en Agregar.
  • Escribe o selecciona el nombre para el usuario de la cuenta A, haz clic en Agregar y, a continuación, haz clic en Aceptar.
  • En todas las listas, en el Delegar Permisos, haz clic para seleccionar Editor (puede leer, crear, modificar y items).
  • Click OK dos veces.
  • Si la Lista de carpetas no es visible, haz clic en Lista de carpetas del menú Ver.
  • Click derecho en Mailbox-usuario, selecciona Propiedades de “Mailbox-usuario” en el menú.
  • En la pestaña de Permisos, click en añadir.
  • Escribe o selecciona el nombre del usuario de la cuenta A, click en añadir, y click en OK.
  • En el cuadro Nombre, haga clic en la nueva entrada de cuenta A.
  • En el cuadro de funciones, haga clic en propietario y, a continuación, haz clic en Aceptar.
  • Repite los pasos 8 a 12 para todas las demás carpetas en el buzón de correo.
  • En el menú Archivo, haz clic en Salir y cerrar sesión.
  • Reinicia Windows o cierra sesión y, a continuación, inicia sesión como usuario de la cuenta A.
  • Inicia Outlook con un perfil que este configurado para el buzón de Exchange Server de la cuenta A.
  • En el menú de herramientas, click en Cuentas de E-Mail.
  • Click en ver o cambiar cuentas de email existentes.
  • Click para seleccionar Microsoft Exchange Server, y click en Modificar.
  • Click en el botón Más Configuraciones.
  • Click en la pestaña Avanzado.
  • Click Añadir.
  • Escribe el nombre del usuario de la cuenta B y click OK tres veces.
  • El buzón de la cuenta B aparecerá en tu lista de carpetas.

El usuario de la cuenta A puede enviar mensajes y las solicitudes de reuniones, en nombre de la cuenta de usuario de B poniendo el nombre del usuario de la cuenta B en el campo De: de los emails. Estos mensajes contienen los nombres de ambos usuarios, de la cuenta A y de la cuenta B.