使用 MAPI,ap/invoke 接口使得在 C# 中使用类似MailItem.Send 方法成为可能。mapi32.MAPISendMail页面提供了设置接口的示例:
/// <summary>
/// The MAPISendMail function sends a message.
///
/// This function differs from the MAPISendDocuments function in that it allows greater
/// flexibility in message generation.
/// </summary>
[DllImport("MAPI32.DLL", CharSet=CharSet.Ansi)]
public static extern uint MAPISendMail(IntPtr lhSession, IntPtr ulUIParam,
MapiMessage lpMessage, uint flFlags, uint ulReserved);
相同的p/invoke页面还提供了一个警告:注意!托管代码不支持 MAPI32。
您应该考虑使用本机System.Net.Mail.SmtpClient类通过 SMTP 而不是 Outlook 发送邮件。