INTRODUÇÃO
Este artigo descreve como utilizar a Biblioteca de Objetos do Microsoft Outlook 2002 ou a Biblioteca de Objetos do Microsoft Office Outlook 2003 para enviar uma mensagem com formato HTML através do Microsoft Visual C#.
Mais Informações
Para utilizar a Biblioteca de Objetos do Outlook 2002 ou a Biblioteca de Objetos do Outlook 2003 para enviar uma mensagem com formato HTML através do Microsoft Visual C#, siga estes passos:
-
No Microsoft Visual Studio .NET ou no Microsoft Visual Studio 2005, crie um novo projeto de Aplicação de Consola:
-
No menu Ficheiro, aponte para Novo e, em seguida, clique em Project.
-
Em Project, clique em Projetos Visuais C#.
Nota No Microsoft Visual C# 2005, clique em Visual C# em Project Tipos. -
Em Modelos, clique em Aplicação de Consola.
-
Clique em OK. Por predefinição, é criado um ficheiro com o nome Class1.cs.
Nota No Microsoft Visual C# 2005, a opção Program.cs é criada por predefinição.
-
-
Adicione uma referência à Biblioteca de Objetos do Outlook 2002 ou à Biblioteca de Objetos do Outlook 2003. Para tal, siga estes passos:
-
No menu Project, clique em Adicionar Referência.
-
Clique no separador COM .
-
No separador COM, clique em Biblioteca de Objetos do Microsoft Outlook 11.0 se estiver a utilizar o Outlook 2003 ou clique em Biblioteca de Objetos do Microsoft Outlook 10.0 se estiver a utilizar o Outlook 2002.
-
Clique em Selecionar.
Nota No Visual C# 2005, não tem de clicar em Selecionar. -
Na caixa de diálogo Adicionar Referências , clique em OK.
Nota Se receber uma mensagem para gerar embrulhos para as bibliotecas que selecionou, clique em Sim.
-
-
Na janela Código class1.cs, substitua todo o código existente pelo seguinte código:
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;
}
}
} -
Neste código, faça as alterações necessárias quando vir os comentários do "TO DO".
-
Prima F5 para criar e, em seguida, execute o programa.
-
Verifique se a mensagem de e-mail foi enviada e que foi recebida.
Referências
Para obter mais informações, visite o seguinte Site do Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspxPara obter mais informações sobre as funcionalidades de segurança de e-mail do Outlook 2002 e sobre como essas funcionalidades podem afetar soluções personalizadas, clique no número do artigo seguinte para ver o artigo na Base de Dados de Conhecimento Microsoft:
290500 Descrição das funcionalidades de segurança de e-mail relacionadas com o programa Outlook 2002