ivan
  • ivan
  • 100% (Exalted)
  • Administration Topic Starter
14 years ago
C# Example
// The following example codes demonstrate encrypting email message with digital signature - S/MIME
// To get full sample projects, please download and install EASendMail on your machine.
// To run it correctly, please change SMTP server, user, password, sender, recipient value to yours


using System; 
using System.Collections.Generic; 
using System.Text; 

// Add EASendMail namespace
using EASendMail; 

namespace mysendemail 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            SmtpMail oMail = new SmtpMail("TryIt"); 
            SmtpClient oSmtp = new SmtpClient(); 

            // Set sender email address, please change it to yours
            oMail.From = "test@emailarchitect.net"; 

            // Set recipient email address, please change it to yours
            oMail.To = "support@emailarchitect.net"; 

            // Set email subject
            oMail.Subject = "test encrypted email"; 

            // Set email body
            oMail.TextBody = "this is a test email with email encryption"; 

            // Your SMTP server address
            SmtpServer oServer = new SmtpServer("smtp.emailarchitect.net"); 

            //User and password for ESMTP authentication, if your server doesn't require
            //User authentication, please remove the following codes.
            oServer.User = "test@emailarchitect.net"; 
            oServer.Password = "testpassword"; 

            try 
            { 
                // Find certificate by email adddress in My Personal Store.
                // Once the certificate is loaded to From, the email content
                // will be signed automatically
                oMail.From.Certificate.FindSubject(oMail.From.Address, 
                    Certificate.CertificateStoreLocation.CERT_SYSTEM_STORE_CURRENT_USER, 
                    "My"); 
            } 
            catch (Exception exp) 
            { 
                Console.WriteLine("No sign certificate found for <" + 
                    oMail.From.Address + ">:" + exp.Message); 
            } 


            int count = oMail.To.Count; 
            for (int i = 0; i < count; i++) 
            { 
                MailAddress oAddress = oMail.To[i] as MailAddress; 
                try 
                { 
                    // Find certificate by email adddress in My Other Peoples Store.
                    // The certificate can be also imported by *.cer file like this:
                    // oAddress.Certificate.Load("c:\\encrypt1.cer");
                    // Once the certificate is loaded to MailAddress, the email content
                    // will be encrypted automatically

                    oAddress.Certificate.FindSubject(oAddress.Address, 
                        Certificate.CertificateStoreLocation.CERT_SYSTEM_STORE_CURRENT_USER, 
                        "AddressBook"); 
                } 
                catch (Exception ep) 
                { 
                    try 
                    { 
                        oAddress.Certificate.FindSubject(oAddress.Address, 
                            Certificate.CertificateStoreLocation.CERT_SYSTEM_STORE_CURRENT_USER, 
                            "My"); 
                    } 
                    catch (Exception exp) 
                    { 
                        Console.WriteLine("No encryption certificate found for <" + 
                             oAddress.Address + ">:" + exp.Message); 
                    } 
                } 
            } 

            // If your smtp server requires SSL connection, please add this line
            // oServer.ConnectType = SmtpConnectType.ConnectSSLAuto;

            try 
            { 
                Console.WriteLine("start to send encrypted email ..."); 
                oSmtp.SendMail(oServer, oMail); 
                Console.WriteLine("email was sent successfully!"); 
            } 
            catch (Exception ep) 
            { 
                Console.WriteLine("failed to send email with the following error:"); 
                Console.WriteLine(ep.Message); 
            } 
        } 
    } 
} 
Click here to read original topic - full version ... 

If you have any comments or questions about above example codes, please add your comments here.

EXPLORE TUTORIALS

© All Rights Reserved, AIFEI Software Limited & AdminSystem Software Limited.