Winapi 使用默认电子邮件程序创建新电子邮件

Winapi 使用默认电子邮件程序创建新电子邮件,winapi,Winapi,如何使用Windows API调用以编程方式在默认电子邮件客户端(如Outlook)中打开新的邮件窗口?我需要包含一个附件,并希望以“富文本”格式(即非纯格式)指定默认邮件正文。我认为您可以使用。附件应该用作参数:类似这样的东西,但我不记得很清楚:mailto:email@something主题=主题和身体=身体和附件=…我想你可以使用。附件应该用作参数:类似这样的东西,但我不记得很清楚:mailto:email@something?subject=subject&body=body&attac

如何使用Windows API调用以编程方式在默认电子邮件客户端(如Outlook)中打开新的邮件窗口?我需要包含一个附件,并希望以“富文本”格式(即非纯格式)指定默认邮件正文。

我认为您可以使用。附件应该用作参数:类似这样的东西,但我不记得很清楚:mailto:email@something主题=主题和身体=身体和附件=…

我想你可以使用。附件应该用作参数:类似这样的东西,但我不记得很清楚:mailto:email@something?subject=subject&body=body&attachment=…

ShellExecute解决方案适用于没有附件的简单邮件,但如果您希望对流程进行更多控制,您可以尝试;特别是,请参见功能和结构


对于更复杂的需求,有扩展MAPI,但我在MSDN上没有找到任何关于它的文档。不过,ShellExecute解决方案似乎是扩展MAPI的一个很好的包装器。

ShellExecute解决方案适用于没有附件的简单邮件,但如果您希望对流程进行更多控制,可以尝试;特别是,请参见功能和结构


对于更复杂的需求,有扩展MAPI,但我在MSDN上没有找到任何关于它的文档。不过,它似乎是扩展MAPI的一个很好的包装器。

我认为应该是HTTP风格的查询参数:mailto:email@something?subject=subject&body=body&attachment=…较新版本的Outlook现在在&attachment参数上抛出一个错误。我认为这应该是HTTP样式的查询参数:邮寄地址:email@something?subject=subject&body=body&attachment=…较新版本的Outlook现在在&attachment参数上抛出一个错误。mailto:协议中的附件选项很久以前就从所有电子邮件发送程序中删除了。猖獗的虐待。您需要使用emailer的自动化界面来完成此操作。mailto:协议中的附件选项很久以前就从所有emailer中删除了。猖獗的虐待。您需要使用emailer的自动化界面来完成此操作。