Enumerar las entradas en la lista global de direcciones
Este ejemplo enumera las 100 primeras direcciones de Protocolo simple de transferencia de correo (SMTP) principales en la Lista global de direcciones (GAL).
Ejemplo
Nota:
El siguiente ejemplo de código es un fragmento de Programming Applications for Microsoft Office Outlook 2007 (Programación de aplicaciones para Microsoft Office Outlook 2007).
En el siguiente ejemplo de código, la dirección SMTP de un objeto AddressEntry se obtiene convirtiéndolo en un objeto ExchangeUser o ExchangeDistributionList en una llamada a los métodos GetExchangeUser() o GetExchangeDistributionList(). Si el objeto AddressEntry representa un usuario de Exchange, EnumerateGAL devuelve un objeto ExchangeUser que muestra las propiedades del objeto AddressEntry. Use propiedades ExchangeUser como JobTitle, Department, Alias, BusinessTelephoneNumber o PrimarySmtpAddress para exponerlas.
Si usa Visual Studio para probar este ejemplo de código, primero debe agregar una referencia al componente de la biblioteca de objetos de Microsoft Outlook 15.0 y especificar la variable de Outlook al importar el espacio de nombres Microsoft.Office.Interop.Outlook. La instrucción using no debe producirse directamente antes de las funciones en el ejemplo de código, pero debe agregarse antes de la declaración de clase pública. La siguiente línea de código muestra cómo realizar la importación y la asignación en C#.
using Outlook = Microsoft.Office.Interop.Outlook;
private void EnumerateGAL()
{
Outlook.AddressList gal =
Application.Session.GetGlobalAddressList();
if (gal != null)
{
for (int i = 1;
i <= Math.Min(100, gal.AddressEntries.Count - 1); i++)
{
Outlook.AddressEntry addrEntry =
gal.AddressEntries[i];
if (addrEntry.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeUserAddressEntry
|| addrEntry.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeRemoteUserAddressEntry)
{
Outlook.ExchangeUser exchUser =
addrEntry.GetExchangeUser();
Debug.WriteLine(exchUser.Name + " "
+ exchUser.PrimarySmtpAddress);
}
if (addrEntry.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeDistributionListAddressEntry)
{
Outlook.ExchangeDistributionList exchDL =
addrEntry.GetExchangeDistributionList();
Debug.WriteLine(exchDL.Name + " "
+ exchDL.PrimarySmtpAddress);
}
}
}
}