Вам понадобится ссылка на библиотеку COM COM Outlook, тогда что-то вроде этого должно работать:
/// <summary>
/// Get Application Object
/// </summary>
public static OL.Application Application
{
get
{
try
{
return Marshal.GetActiveObject("Outlook.Application") as OL.Application;
}
catch (COMException)
{
return new OL.Application();
}
}
}
/// <summary>
/// Prepare An Email In Outlook
/// </summary>
/// <param name="ToAddress"></param>
/// <param name="Subject"></param>
/// <param name="Body"></param>
/// <param name="Attachment"></param>
public static void CreateEmail(string ToAddress, string Subject, string Body, string AttachmentFileName)
{
//Create an instance of Outlook (or use existing instance if it already exists
var olApp = Application;
// Create a mail item
var olMail = olApp.CreateItem(OL.OlItemType.olMailItem) as OL.MailItem;
olMail.Subject = Subject;
olMail.To = ToAddress;
// Set Body
olMail.Body = Body;
// Add Attachment
string name = System.IO.Path.GetFileName(AttachmentFileName);
olMail.Attachments.Add(AttachmentFileName, OL.OlAttachmentType.olByValue, 1, name);
// Display Mail Window
olMail.Display();
}
Для того, чтобы это работало, вам также потребуется:
using System.Runtime.InteropServices;
using OL = Microsoft.Office.Interop.Outlook;