https://support.microsoft.com/zh-tw/help/310262/how-to-use-the-microsoft-outlook-object-library-to-send-an-html-formatted-message-by-using-visual-c
using System; using System.Reflection; // to use Missing.Value // TO DO: If you use the Microsoft Outlook 11.0 Object Library, uncomment the following line. // using Outlook = Microsoft.Office.Interop.Outlook; namespace SendHTMLMail { public class Class1 { public static int Main(string[] args) { try { // Create the Outlook application. Outlook.Application oApp = new Outlook.Application(); // Get the NameSpace and Logon information. Outlook.NameSpace oNS = oApp.GetNamespace("mapi"); // Log on by using a dialog box to choose the profile. oNS.Logon(Missing.Value, Missing.Value, true, true); // Alternate logon method that uses a specific profile. // TODO: If you use this logon method, // change the profile name to an appropriate value. //oNS.Logon("YourValidProfile", Missing.Value, false, true); // Create a new mail item. Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem); // Set the subject. oMsg.Subject = "Send Using OOM in C#"; // Set HTMLBody. 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></P>\n" + "</BODY>\n" + "</HTML>"; oMsg.HTMLBody = sHtml; // Add a recipient. Outlook.Recipients oRecips = (Outlook.Recipients)oMsg.Recipients; // TODO: Change the recipient in the next line if necessary. Outlook.Recipient oRecip = (Outlook.Recipient)oRecips.Add("email address"); oRecip.Resolve(); // Send. oMsg.Send(); // Log off. oNS.Logoff(); // Clean up. oRecip = null; oRecips = null; oMsg = null; oNS = null; oApp = null; } // Simple error handling. catch (Exception e) { Console.WriteLine("{0} Exception caught.", e); } // Default return value. return 0; } } }