Cómo usar la biblioteca de Cdosys.dll para enviar un mensaje de correo electrónico con datos adjuntos

Número de KB original: 310212

Resumen

En este artículo se describe cómo usar los objetos de datos de colaboración (CDO) para la biblioteca de Windows 2000 (Cdosys.dll) para enviar un mensaje de correo electrónico con datos adjuntos. Puede enviar texto o HTML o una página web en el cuerpo del mensaje de correo electrónico mediante el servidor SMTP local o mediante un servidor host inteligente en Microsoft Visual C#.

Nota:

La biblioteca Cdosys.dll también se conoce como CDOSYS.

Más información

Para usar CDOSYS como se describe en la sección Resumen, siga estos pasos:

  1. Inicie Microsoft Visual Studio.

  2. En el menú Archivo , seleccione Nuevo y, a continuación, seleccione Proyecto.

  3. En Tipos de proyecto, seleccione Visual C# y, a continuación, seleccione Aplicación de consola en Plantillas. De forma predeterminada, se crea Program.cs.

    Nota:

    En Microsoft Visual C# .NET 2003, Visual C# se cambia a Proyectos de Visual C#. De forma predeterminada, se crea Class1.cs.

  4. Agregue una referencia a la biblioteca de Microsoft CDO para Windows 2000. Para ello, siga estos pasos:

    1. En el menú Proyecto , seleccione Agregar referencia.

    2. En la pestaña COM , busque Microsoft CDO para la biblioteca de Windows 2000.

      Nota:

      En Visual C# .NET 2003, seleccione Seleccionar.

    3. Para aceptar las selecciones, seleccione Aceptar en el cuadro de diálogo Agregar referencias .

      Si recibe un cuadro de diálogo para generar contenedores para las bibliotecas que seleccionó, seleccione .

  5. En la ventana de código, reemplace todo el código por el código siguiente:

    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;
            }
        }
    }
    
  6. Cuando TODO aparezca en el código, modifique el código como se indica.

  7. Para compilar y ejecutar el programa, presione F5.

  8. Compruebe que el mensaje de correo electrónico se ha enviado y recibido.

Referencias

Para obtener más información sobre el desarrollo de Microsoft Office con Visual Studio, consulte Desarrollo de Microsoft Office con Visual Studio.