【问题标题】:Is it possible to send an email to a specific recipient through Share Contract?是否可以通过共享合同向特定收件人发送电子邮件?
【发布时间】:2012-05-14 07:22:27
【问题描述】:

我正在尝试从 Metro 应用程序(js 或 c#,没关系)发送电子邮件,共享合同是要走的路吗?据我所知,您无法通过共享合同指定电子邮件的收件人。

【问题讨论】:

    标签: email share windows-8 windows-runtime


    【解决方案1】:

    这是正确的。共享合约也可用于其他应用程序,例如 Tweetro,它们不使用电子邮件地址,因此用户必须手动输入电子邮件地址。一个mailto Uri不起作用,它必须是一个有效的Uri,否则不会显示。请参阅http://msdn.microsoft.com/en-US/library/windows/apps/hh465261,了解您可以设置为通过超级按钮共享的所有选项。

    【讨论】:

      【解决方案2】:

      你是对的。没有办法。您可以尝试构建一个 mailto Uri 并启动它

      【讨论】:

        【解决方案3】:

        如果您使用的是 Windows 10,请使用 EmailManager.ShowComposeNewEmailAsync API。它使用下面的 mailto: 协议。

        【讨论】:

          【解决方案4】:

          可以使用 Uri 方案打开应用,但您需要使用 LaunchUriAsync。此外,设置 LauncherOptions 后,如果用户没有安装应用,Windows 会将他们带到应用商店。

          例如,这是我的方法,它只将邮件应用程序打开到屏幕的一侧(我用它来报告错误),或者如果他们安装了 Outlook,它将使用它:

          private async Task<bool> ReportErrorMessage(string detailedErrorMessage)
          {
              var uri = new Uri(string.Format("mailto:email.address@domain.com?subject=Error Report&body={0}", detailedErrorMessage), UriKind.Absolute);
          
              var options = new Windows.System.LauncherOptions
              {
                  DisplayApplicationPicker = true,
                  DesiredRemainingView = Windows.UI.ViewManagement.ViewSizePreference.UseLess,
                  PreferredApplicationPackageFamilyName = "microsoft.windowscommunicationsapps_8wekyb3d8bbwe",
                  PreferredApplicationDisplayName = "Mail"
              };
          
              return await Windows.System.Launcher.LaunchUriAsync(uri, options);
          }
          

          对于电子邮件 uri,应用程序已经安装,因此它应该对每个用户都同样有效。此外,如果您知道 FamilyPackageName,您可以设置要使用的首选应用程序。

          Find more information about using the uri launcher here.

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-01-10
            • 2013-10-30
            • 1970-01-01
            • 2014-12-15
            • 2020-05-01
            • 2021-01-07
            • 2020-12-22
            • 1970-01-01
            相关资源
            最近更新 更多