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