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.