如何:以编程方式发送电子邮件
更新:2007 年 11 月
适用对象 |
---|
本主题中的信息仅适用于指定的 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 的筛选器代码。如果移除此筛选器,解决方案会向您的所有联系人发送电子邮件。