How to use the Cdosys.dll library to send an e-mail message with attachments by using Visual C#

Article translations Article translations
Article ID: 310212 - View products that this article applies to.
This article was previously published under Q310212
Expand all | Collapse all

SUMMARY

This article describes how to use the Collaboration Data Objects (CDO) for Windows 2000 library (Cdosys.dll) to send an e-mail message with attachments. You can send text or HTML or a Web page in the body of the e-mail message by using the local SMTP server or by using a smart host server in Microsoft Visual C#.

Note The Cdosys.dll library is also known as CDOSYS.

MORE INFORMATION

To use CDOSYS as described in the "Summary" section, follow these steps:
  1. Start Microsoft Visual Studio.
  2. On the File menu, click New, and then click Project.
  3. Under Project Types, click Visual C#, and then click Console Application under Templates. By default, Program.cs is created.

    Note In Microsoft Visual C# .NET 2003, Visual C# is changed to Visual C# Projects. By default, Class1.cs is created.
  4. Add a reference to the Microsoft CDO For Windows 2000 Library. To do this, follow these steps:
    1. On the Project menu, click Add Reference.
    2. On the COM tab, locate Microsoft CDO For Windows 2000 Library.

      Note In Visual C# .NET 2003, click Select.
    3. To accept your selections, click OK in the Add References dialog box.

      If you receive a dialog box to generate wrappers for the libraries that you selected, click Yes.
  5. In the code window, replace all the code with the following 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. Where TODO appears in the code, modify the code as indicated.
  7. To build and run the program, press F5.
  8. Verify that the e-mail message has been both sent and received.

REFERENCES

For more information about Microsoft Office development with Visual Studio, see the following Microsoft Developer Network (MSDN) Web site:
http://msdn.microsoft.com/en-us/library/aa188489(office.10).aspx
For additional information about how to use CDOSYS, click the following article numbers to view the articles in the Microsoft Knowledge Base:
310221 How to use the Cdosys.dll library to embed a message in a new message by using Visual C# .NET
310224 How to use the Cdosys.dll library to process mail in the Drop directory by using Visual C# .NET
310225 How to use the Cdosys.dll Library to save a message to a file by using Visual C# .NET

Properties

Article ID: 310212 - Last Review: July 30, 2008 - Revision: 4.0
APPLIES TO
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Collaboration Data Objects 2.0
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
  • Microsoft Internet Information Services 6.0
  • Microsoft Internet Information Services 5.0
Keywords: 
kbsweptvs2008 kbcode kbhowto KB310212

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com