ВВЕДЕНИЕ
В этой статье описано, как с помощью объектной библиотеки Microsoft Outlook 2002 или библиотеки объектов Microsoft Office Outlook 2003 отправить сообщение в формате HTML с помощью Microsoft Visual C#.
Дополнительная информация
Чтобы использовать объектную библиотеку Outlook 2002 или библиотеку объектов Outlook 2003 для отправки сообщения в формате HTML с помощью Microsoft Visual C#, выполните следующие действия:
-
В Microsoft Visual Studio .NET или Microsoft Visual Studio 2005 создайте проект приложения консоли:
-
В меню Файл выберите пункты Новыеи Project.
-
В Project типы выберитеVisual C# Projects.
Примечание. В Microsoft Visual C# 2005 выберите Visual C# в Project типы. -
В области Шаблоны щелкните Приложение консоли.
-
Нажмите кнопку ОК. По умолчанию создается файл с именем Class1.cs.
Примечание. По умолчанию в Microsoft Visual C# 2005 создается program.cs.
-
-
Добавьте ссылку на библиотеку объектов Outlook 2002 или библиотеку Outlook 2003. Для этого выполните следующие действия:
-
В меню Project ссылку добавить ссылку.
-
Перейдите на вкладку COM.
-
На вкладке COM выберите библиотека объектов Microsoft Outlook 11.0, если вы используете Outlook 2003, или библиотеку объектов Microsoft Outlook 10.0, если вы используете Outlook 2002.
-
Нажмите кнопку Выбрать.
Примечание. В Visual C# 2005 не нужно нажимать кнопку Выбрать. -
В диалоговом окне Добавление ссылок нажмите кнопку ОК.
Примечание. Если вы получили сообщение о том, что для выбранных библиотек создается овертав, нажмите кнопку Да.
-
-
В окне кода Class1.cs замените существующий код следующим кодом:
using System;
using System.Reflection; // to use Missing.Value
// TO DO: If you use the Microsoft Outlook 11.0 Object Library, uncomment the following line.
// using Outlook = Microsoft.Office.Interop.Outlook;
namespace SendHTMLMail
{
public class Class1
{
public static int Main(string[] args)
{
try
{
// Create the Outlook application.
Outlook.Application oApp = new Outlook.Application();
// Get the NameSpace and Logon information.
Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
// Log on by using a dialog box to choose the profile.
oNS.Logon(Missing.Value, Missing.Value, true, true);
// Alternate logon method that uses a specific profile.
// TODO: If you use this logon method,
// change the profile name to an appropriate value.
//oNS.Logon("YourValidProfile", Missing.Value, false, true);
// Create a new mail item.
Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
// Set the subject.
oMsg.Subject = "Send Using OOM in C#";
// Set HTMLBody.
String sHtml;
sHtml = "<HTML>\n" +
"<HEAD>\n" +
"<TITLE>Sample GIF</TITLE>\n" +
"</HEAD>\n" +
"<BODY><P>\n" +
"<h1><Font Color=Green>Inline graphics</Font></h1></P>\n" +
"</BODY>\n" +
"</HTML>";
oMsg.HTMLBody = sHtml;
// Add a recipient.
Outlook.Recipients oRecips = (Outlook.Recipients)oMsg.Recipients;
// TODO: Change the recipient in the next line if necessary.
Outlook.Recipient oRecip = (Outlook.Recipient)oRecips.Add("email address");
oRecip.Resolve();
// Send.
oMsg.Send();
// Log off.
oNS.Logoff();
// Clean up.
oRecip = null;
oRecips = null;
oMsg = null;
oNS = null;
oApp = null;
}
// Simple error handling.
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
// Default return value.
return 0;
}
}
} -
В этом коде внести необходимые изменения в том месте, где вы видите прикомменты TO DO.
-
Нажмите F5, чтобы построить и запустить программу.
-
Убедитесь, что сообщение было отправлено и получено.
Ссылки
Дополнительные сведения см. на следующем веб-сайте Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspxЧтобы узнать больше о Outlook 2002 и о том, как эти функции могут повлиять на пользовательские решения, щелкните номер следующей статьи, чтобы просмотреть статью в базе знаний Майкрософт:
290500 Описание функций безопасности электронной почты, связанных с разработчиками, в Outlook 2002