Compartir a través de


Cómo: Enviar un correo electrónico mediante programación

En este ejemplo se envía un mensaje de correo electrónico a contactos que tienen el nombre de dominio example.com en sus direcciones de correo electrónico.

Se aplica a: La información de este tema se aplica a los proyectos de nivel de aplicación para Outlook 2013 y Outlook 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Ejemplo

Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
    SendEmailtoContacts()
End Sub

Private Sub SendEmailtoContacts()
    Dim subjectEmail As String = "Meeting has been rescheduled."
    Dim bodyEmail As String = "Meeting is one hour later."
    Dim sentContacts As Outlook.MAPIFolder = Me.Application.ActiveExplorer() _
        .Session.GetDefaultFolder(Outlook _
        .OlDefaultFolders.olFolderContacts)
    For Each contact As Outlook.ContactItem In sentContacts.Items()
        If contact.Email1Address.Contains("example.com") Then
            CreateEmailItem(subjectEmail, contact _
            .Email1Address, bodyEmail)
        End If
    Next
End Sub

Private Sub CreateEmailItem(ByVal subjectEmail As String, _
    ByVal toEmail As String, ByVal bodyEmail As String)
    Dim eMail As Outlook.MailItem = Me.Application.CreateItem _
        (Outlook.OlItemType.olMailItem)
    With eMail
        .Subject = subjectEmail
        .To = toEmail
        .Body = bodyEmail
        .Importance = Outlook.OlImportance.olImportanceLow
        .Send()
    End With
End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    SendEmailtoContacts();
}

private void SendEmailtoContacts()
{
    string subjectEmail = "Meeting has been rescheduled.";
    string bodyEmail = "Meeting is one hour later.";
    Outlook.MAPIFolder sentContacts = (Outlook.MAPIFolder)
        this.Application.ActiveExplorer().Session.GetDefaultFolder
        (Outlook.OlDefaultFolders.olFolderContacts);
    foreach (Outlook.ContactItem contact in sentContacts.Items)
    {
        if (contact.Email1Address.Contains("example.com"))
        {
            this.CreateEmailItem(subjectEmail, contact
                .Email1Address, bodyEmail);
        }
    }
}

private void CreateEmailItem(string subjectEmail,
       string toEmail, string bodyEmail)
{
    Outlook.MailItem eMail = (Outlook.MailItem)
        this.Application.CreateItem(Outlook.OlItemType.olMailItem);
    eMail.Subject = subjectEmail;
    eMail.To = toEmail;
    eMail.Body = bodyEmail;
    eMail.Importance = Outlook.OlImportance.olImportanceLow;
    ((Outlook._MailItem)eMail).Send();
}

Compilar el código

Para este ejemplo se necesita:

  • Contactos que tengan el nombre de dominio example.com en sus direcciones de correo electrónico.

Programación eficaz

No quite el código del filtro que busca el nombre de dominio example.com.Si quita el filtro, la solución enviará los mensajes de correo electrónico a todos los contactos.

Vea también

Tareas

Cómo: Crear un elemento de correo electrónico mediante programación

Cómo: Obtener acceso a los contactos de Outlook mediante programación

Cómo: Realizar acciones al recibir un mensaje de correo electrónico mediante programación

Conceptos

Trabajar con elementos de correo