Come usare la libreria Cdosys.dll per inviare un messaggio di posta elettronica con allegati

Numero KB originale: 310212

Riepilogo

Questo articolo descrive come usare la libreria CDO (Collaboration Data Objects) per Windows 2000 (Cdosys.dll) per inviare un messaggio di posta elettronica con allegati. È possibile inviare testo o HTML o una pagina Web nel corpo del messaggio di posta elettronica usando il server SMTP locale o un server smart host in Microsoft Visual C#.

Nota

La libreria Cdosys.dll è nota anche come CDOSYS.

Ulteriori informazioni

Per usare CDOSYS come descritto nella sezione Riepilogo, seguire questa procedura:

  1. Avviare Microsoft Visual Studio.

  2. Scegliere Nuovo dal menu File e quindi selezionare Progetto.

  3. In Tipi di progetto selezionare Visual C# e quindi Applicazione console in Modelli. Per impostazione predefinita, viene creato Program.cs.

    Nota

    In Microsoft Visual C# .NET 2003 Visual C# viene modificato in Progetti Visual C#. Per impostazione predefinita, viene creato Class1.cs.

  4. Aggiungere un riferimento a Microsoft CDO For Windows 2000 Library. A tal fine, attenersi alla seguente procedura:

    1. Scegliere Aggiungi riferimento dal menu Progetto.

    2. Nella scheda COM individuare Microsoft CDO For Windows 2000 Library.On the COM tab, locate Microsoft CDO For Windows 2000 Library.

      Nota

      In Visual C# .NET 2003 selezionare Seleziona.

    3. Per accettare le selezioni, selezionare OK nella finestra di dialogo Aggiungi riferimenti .

      Se si riceve una finestra di dialogo per generare wrapper per le librerie selezionate, selezionare .

  5. Nella finestra del codice sostituire tutto il codice con il codice seguente:

    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. Dove TODO viene visualizzato nel codice, modificare il codice come indicato.

  7. Per compilare ed eseguire il programma, premere F5.

  8. Verificare che il messaggio di posta elettronica sia stato inviato e ricevuto.

Riferimenti

Per altre informazioni sullo sviluppo di Microsoft Office con Visual Studio, vedere Sviluppo di Microsoft Office con Visual Studio.