Como utilizar a biblioteca de Cdosys.dll para enviar uma mensagem de e-mail com anexos
Número original da BDC: 310212
Resumo
Este artigo descreve como utilizar a biblioteca de Objetos de Dados de Colaboração (CDO) para Windows 2000 (Cdosys.dll) para enviar uma mensagem de e-mail com anexos. Pode enviar texto ou HTML ou uma página Web no corpo da mensagem de e-mail utilizando o servidor SMTP local ou utilizando um servidor anfitrião inteligente no Microsoft Visual C#.
Nota
A biblioteca de Cdosys.dll também é conhecida como CDOSYS.
Mais informações
Para utilizar o CDOSYS, conforme descrito na secção Resumo, siga estes passos:
Inicie o Microsoft Visual Studio.
No menu Ficheiro , selecione Novo e, em seguida, selecione Projeto.
Em Tipos de Projeto, selecione Visual C#e, em seguida, selecione Aplicação de Consola em Modelos. Por predefinição, é criada Program.cs.
Nota
No Microsoft Visual C# .NET 2003, o Visual C# é alterado para Visual C# Projects. Por predefinição, é criada Class1.cs.
Adicione uma referência à Biblioteca do Microsoft CDO para Windows 2000. Para tal, siga estes passos:
No menu Projeto , selecione Adicionar Referência.
No separador COM, localize Microsoft CDO For Windows 2000 Library (Biblioteca do Microsoft CDO para Windows 2000).
Nota
No Visual C# .NET 2003, selecione Selecionar.
Para aceitar as suas seleções, selecione OK na caixa de diálogo Adicionar Referências .
Se receber uma caixa de diálogo para gerar wrappers para as bibliotecas que selecionou, selecione Sim.
Na janela de código, substitua todo o código pelo seguinte código:
namespace CdoSys { using System; class Class1 { static void Main (string[] args) { try { CDO.Message oMsg = new CDO.Message (); CDO.IConfiguration iConfg; iConfg = oMsg.Configuration; ADODB.Fields oFields; oFields = iConfg.Fields; // Set configuration. ADODB.Field oField = oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"]; //TODO: To send by using the smart host, uncomment the following lines: //oField.Value = CDO.CdoSendUsing.cdoSendUsingPort; //oField = oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"]; //oField.Value = "smarthost"; // TODO: To send by using local SMTP service. //oField = oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"]; //oField.Value = 1; oFields.Update (); // Set common properties from message. //TODO: To send text body, uncomment the following line: //oMsg.TextBody = "Hello, how are you doing?"; //TODO: To send HTML body, uncomment the following lines: //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>\n" + //"</BODY>\n" + //"</HTML>"; //oMsg.HTMLBody = sHtml; //TOTO: To send WEb page in an e-mail, uncomment the following lines and make changes in TODO section. //TODO: Replace with your preferred Web page //oMsg.CreateMHTMLBody("http://www.microsoft.com", //CDO.CdoMHTMLFlags.cdoSuppressNone, //"", ""); oMsg.Subject = "Test SMTP"; //TODO: Change the To and From address to reflect your information. oMsg.From = "someone@example.com"; oMsg.To = "someone@example.com"; //ADD attachment. //TODO: Change the path to the file that you want to attach. oMsg.AddAttachment ("C:\\Hello.txt", "", ""); oMsg.AddAttachment ("C:\\Test.doc", "", ""); oMsg.Send (); } catch (Exception e) { Console.WriteLine ("{0} Exception caught.", e); } return; } } }
Em que TODO aparece no código, modifique o código conforme indicado.
Para criar e executar o programa, prima F5.
Verifique se a mensagem de e-mail foi enviada e recebida.
Referências
Para obter mais informações sobre o desenvolvimento do Microsoft Office com o Visual Studio, consulte Desenvolvimento do Microsoft Office com o Visual Studio.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários