Vorgehensweise verwenden der Cdosys.dll Bibliothek zum Senden einer e-Mail-Nachricht mit Anlagen

Ursprüngliche KB-Nummer:   310212

Zusammenfassung

In diesem Artikel wird beschrieben, wie Sie die CDO (Collaboration Data Objects) für die Windows 2000-Bibliothek (Cdosys.dll) verwenden, um eine e-Mail-Nachricht mit Anlagen zu senden. Sie können Text oder HTML oder eine Webseite im Textkörper der e-Mail-Nachricht mithilfe des lokalen SMTP-Servers oder mithilfe eines Smarthosts in Microsoft Visual C# senden.

Hinweis

Die Cdosys.dll Bibliothek wird auch als CDOSYS bezeichnet.

Weitere Informationen

Um CDOSYS wie im Abschnitt Zusammenfassung beschrieben zu verwenden, führen Sie die folgenden Schritte aus:

  1. Starten Sie Microsoft Visual Studio.

  2. Wählen Sie im Menü Datei die Option neu aus, und wählen Sie dann Projekt aus.

  3. Wählen Sie unter Projekttypen die Option Visual C# aus, und wählen Sie dann unter Vorlagen die Option Konsolenanwendung aus. Standardmäßig wird Program.cs erstellt.

    Hinweis

    In Microsoft Visual c# .NET 2003 wird Visual c# in Visual c#-Projekte geändert. Standardmäßig wird Class1.cs erstellt.

  4. Fügen Sie einen Verweis auf die Bibliothek Microsoft CDO für Windows 2000 hinzu. Gehen Sie dazu wie folgt vor:

    1. Wählen Sie im Menü Projekt die Option Verweis hinzufügen aus.

    2. Suchen Sie auf der Registerkarte com nach Microsoft CDO for Windows 2000 Library.

      Hinweis

      Wählen Sie in Visual C# .NET 2003 die Option auswählen aus.

    3. Um Ihre Auswahl zu übernehmen, wählen Sie im Dialogfeld Verweise hinzufügen die Option OK aus.

      Wenn Sie ein Dialogfeld zum Generieren von Wrappern für die ausgewählten Bibliotheken erhalten, wählen Sie Ja aus.

  5. Ersetzen Sie im Codefenster den gesamten Code durch den folgenden Code:

    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. Wenn TODO im Code angezeigt wird, ändern Sie den Code wie angegeben.

  7. Drücken Sie F5, um das Programm zu erstellen und auszuführen.

  8. Stellen Sie sicher, dass die e-Mail-Nachricht sowohl gesendet als auch empfangen wurde.

Informationsquellen

Weitere Informationen zur Microsoft Office Entwicklung mit Visual Studio finden Sie unter Microsoft Office Development with Visual Studio.