Obtener la dirección de correo electrónico de un destinatario
Este ejemplo muestra cómo obtener la dirección del Protocolo simple de transferencia de correo (SMTP) de un destinatario.
Ejemplo
En el siguiente ejemplo de código, el método GetSMTPAddressForRecipients toma un objeto MailItem como argumento de entrada y después muestra la dirección SMTP de cada destinatario del elemento de correo. El método recupera primero la colección Recipients que representa el conjunto de destinatarios especificado para el elemento de correo. Después, para cada destinatario de esa colección Recipients, el método obtiene el objeto PropertyAccessor que se corresponde con el objeto Recipient. Por último, el método usa la propiedad PropertyAccessor para obtener el valor de la propiedad https://schemas.microsoft.com/mapi/proptag/0x39FE001E
MAPI , que se asigna a la propiedad PR_SMTP_ADDRESS (PidTagSmtpAddress) del destinatario.
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 GetSMTPAddressForRecipients(Outlook.MailItem mail)
{
const string PR_SMTP_ADDRESS =
"http://schemas.microsoft.com/mapi/proptag/0x39FE001E";
Outlook.Recipients recips = mail.Recipients;
foreach (Outlook.Recipient recip in recips)
{
Outlook.PropertyAccessor pa = recip.PropertyAccessor;
string smtpAddress =
pa.GetProperty(PR_SMTP_ADDRESS).ToString();
Debug.WriteLine(recip.Name + " SMTP=" + smtpAddress);
}
}