Практическое руководство. Отправка сообщений электронной почты программными средствами
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
В этом примере выполняется отправка сообщений электронной почты контактам, в адресах которых содержится имя домена example.com.
Пример
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();
}
Компиляция кода
Для этого примера требуются:
- Контакты, в адресах которых содержится имя домена example.com.
Отказоустойчивость
Не удаляйте код фильтра, в котором осуществляется поиск по имени домена example.com. Если удалить фильтр, будет выполнена отправка сообщений электронной почты всем контактам.
См. также
Задачи
Практическое руководство. Создание элемента электронной почты
Практическое руководство. Доступ к контактам Outlook
Практическое руководство. Выполнение действий при получении сообщения электронной почты