c# - 如何在 Windows 10 邮件应用程序中打开带附件的新邮件

标签 c# .net windows email mapi

我正在尝试向我的 C#/.Net 应用程序添加一项功能,以便用户通过电子邮件发送文件。 当用户安装了 Outlook 时,我可以成功地使用 Outlook 互操作 API 来完全按照我的意愿进行操作。 但是,在新安装的 Windows 10 中,我不知道如何在来自 Windows 应用商店的默认邮件应用程序中打开带有附件的电子邮件。

我试过:

  1. 根据 https://stackoverflow.com/a/25586282/2102158 使用 EML 文件

    • 邮件应用程序未自行注册以打开 EML 文件
  2. 使用 MAPI32.dll 等(我使用了 https://github.com/metageek-llc/inSSIDer-2/blob/master/MetaScanner/UnhandledException/MapiMailMessage.cs 中的代码)

    • 弹出一个对话框,提示没有注册电子邮件程序。邮件应用程序似乎不与 MAPI 交互
  3. 使用 mailto: 链接。

    • 邮件程序打开,但它不考虑 Attachment= 或 Attach= 参数

还有

  • Windows.ApplicationModel.Email.EmailMessage 似乎只能在手机上使用。

  • 我不想使用 SMTP 发送消息服务器端。

  • 我还尝试了 MS-UNISTORE_EMAIL: 和 OUTLOOKMAIL: url 方案,它们与邮件应用相关联,它们的行为似乎与 mailto: 相同:

  • 似乎没有任何方法可以从命令行启动邮件应用

最佳答案

试试这个:

a href='mailto:yourname@domain.com?Subject=yoursubject&Body=yourbody&Attachment=file path '

或者尝试使用文件上传将文件附加到邮件中:

Msg.Attachments.Add(new Attachment(FileUpload1.FileContent, System.IO.Path.GetFileName(FileUpload1.FileName)));

关于c# - 如何在 Windows 10 邮件应用程序中打开带附件的新邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31917028/

相关文章:

c# - 在设置中构建时无法访问 App.config

c# - 为什么默认的字符串比较器无法保持传递一致性?

.net - 如何使用 dapper 保存整个数据表?

python - 如何创建一个新的 python tkinter 窗口,使其完全适合可用的桌面区域,但未最大化?

java - 测试网络文件夹是否存在

c# - Blazor onclick 事件未触发

c# - 带有项目/数据模板的 WPF 自定义控件

c# - 如何从 XDocument 获取 XML 节点

c# - 使用 c# 代码动态更新 salesforce wsdl

python - 模块未找到错误: No module named 'win32serviceutil'