发送包含电子名片的邮件项
此代码示例创建邮件项、查找电子名片,并将找到的电子名片插入邮件项中。
示例
若要插入电子名片,可以对 MailItem 对象调用 AddBusinessCard。 此方法需要使用表示电子邮件地址的字符串,并尝试在默认“联系人”文件夹中查找具有相应地址的 ContactItem。 一个 ContactItem 最多可以有三个电子邮件地址。 如果找到联系人,此代码示例便会调用 AddBusinessCard 方法,然后向用户显示邮件。
如果使用 Visual Studio 测试此代码示例,必须先添加对 Microsoft Outlook 15.0 对象库组件的引用,并在导入 Microsoft.Office.Interop.Outlook 命名空间时指定 Outlook 变量。 不得将 Imports 或 using 语句直接添加到此代码示例中的函数前面,这两个语句必须后跟公共类声明。 下面的代码行演示了如何在 Visual Basic 和 C# 中执行导入和分配。
Imports Outlook = Microsoft.Office.Interop.Outlook
using Outlook = Microsoft.Office.Interop.Outlook;
Private Sub AddBusinessCard(ByVal eMailAddress As String)
Dim mail As Outlook.MailItem = CType(Application.CreateItem( _
Outlook.OlItemType.olMailItem), Outlook.MailItem)
mail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML
Dim contact As Outlook.ContactItem = _
CType(Application.Session.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderContacts).Items.Find( _
"[Email1Address]='" & eMailAddress & "'" & " OR " & _
"[Email2Address]='" & eMailAddress & "'" + " OR " & _
"[Email3Address]='" & eMailAddress & "'") _
, Outlook.ContactItem)
If (contact Is Nothing) Then
Return
End If
mail.AddBusinessCard(contact)
mail.Display(False)
End Sub
private void AddBusinessCard(string eMailAddress)
{
Outlook.MailItem mail = Application.CreateItem(
Outlook.OlItemType.olMailItem) as Outlook.MailItem;
mail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
Outlook.ContactItem contact = Application.Session.
GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderContacts).Items.Find(
"[Email1Address]='" + eMailAddress + "'" + " OR " +
"[Email2Address]='" + eMailAddress + "'" + " OR " +
"[Email3Address]='" + eMailAddress + "'")
as Outlook.ContactItem;
if (contact == null)
{
return;
}
mail.AddBusinessCard(contact);
mail.Display(false);
}