Comment utiliser la bibliothèque Cdosys.dll pour envoyer un message électronique avec des pièces jointes

Numéro de la base de connaissances d’origine : 310212

Résumé

Cet article explique comment utiliser la bibliothèque Collaboration Data Objects (CDO) pour Windows 2000 (Cdosys.dll) pour envoyer un message électronique avec des pièces jointes. Vous pouvez envoyer du texte ou du code HTML ou une page Web dans le corps du message électronique à l’aide du serveur SMTP local ou d’un serveur hôte actif dans Microsoft Visual C#.

Remarque

La bibliothèque Cdosys.dll est également appelée CDOSYS.

Informations supplémentaires

Pour utiliser CDOSYS comme décrit dans la section Résumé, procédez comme suit :

  1. Démarrez Microsoft Visual Studio.

  2. Dans le menu Fichier , sélectionnez Nouveau, puis Projet.

  3. Sous Types de projets, sélectionnez Visual C#, puis application console sous Modèles. Par défaut, Program.cs est créé.

    Remarque

    Dans Microsoft Visual C# .NET 2003, Visual C# est remplacé par Visual C# Projects. Par défaut, Class1.cs est créé.

  4. Ajoutez une référence à la bibliothèque Microsoft CDO pour Windows 2000. Pour cela, procédez comme suit :

    1. Dans le menu Projet , sélectionnez Ajouter une référence.

    2. Sous l’onglet COM , recherchez Microsoft CDO pour la bibliothèque Windows 2000.

      Remarque

      Dans Visual C# .NET 2003, sélectionnez Sélectionner.

    3. Pour accepter vos sélections, sélectionnez OK dans la boîte de dialogue Ajouter des références .

      Si vous recevez une boîte de dialogue pour générer des wrappers pour les bibliothèques que vous avez sélectionnées, sélectionnez Oui.

  5. Dans la fenêtre de code, remplacez tout le code par le code suivant :

    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. Là où TODO apparaît dans le code, modifiez le code comme indiqué.

  7. Pour générer et exécuter le programme, appuyez sur F5.

  8. Vérifiez que le message électronique a été envoyé et reçu.

References

Pour plus d’informations sur le développement Microsoft Office avec Visual Studio, consultez Développement Microsoft Office avec Visual Studio.