Поделиться через


Как использовать библиотеку Cdosys.dll для отправки сообщения электронной почты с вложениями

исходный номер базы знаний: 310212

Сводка

В этой статье описывается, как использовать объекты данных совместной работы (CDO) для библиотеки Windows 2000 (Cdosys.dll) для отправки сообщения электронной почты с вложениями. Вы можете отправить текст или HTML-страницу или веб-страницу в тексте сообщения электронной почты с помощью локального SMTP-сервера или с помощью сервера интеллектуального узла в Microsoft Visual C#.

Примечание.

Библиотека Cdosys.dll также называется CDOSYS.

Дополнительные сведения

Чтобы использовать CDOSYS, как описано в разделе "Сводка", выполните следующие действия:

  1. Запустите Microsoft Visual Studio.

  2. В меню Файл выберите Создать, а затем выберите Project.

  3. В разделе типов проектоввыберите Visual C#, а затем выберите консольного приложения в разделе шаблонов. По умолчанию создается Program.cs.

    Примечание.

    В Microsoft Visual C# .NET 2003 Visual C# изменяется на проектов Visual C#. По умолчанию создается Class1.cs.

  4. Добавьте ссылку на библиотеку Microsoft CDO для Windows 2000. Для этого выполните следующие действия.

    1. В меню проекта выберите Добавить Ссылку.

    2. На вкладке COM найдите библиотеку Microsoft CDO для Windows 2000.

      Примечание.

      В Visual C# .NET 2003 выберите Выбрать.

    3. Чтобы принять выбранные элементы, нажмите кнопку ОК в диалоговом окне Добавление ссылок.

      Если появится диалоговое окно для создания оболочки для выбранных библиотек, выберите Да.

  5. В окне кода замените весь код следующим кодом:

    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. Где TODO отображается в коде, измените код, как указано.

  7. Чтобы создать и запустить программу, нажмите клавишу F5.

  8. Убедитесь, что сообщение электронной почты отправлено и получено.

Ссылки

Дополнительные сведения о разработке Microsoft Office с помощью Visual Studio см. в статье Microsoft Office Development with Visual Studio.