【问题标题】:How send email with attachment in windows universall app如何在 Windows 通用应用程序中发送带附件的电子邮件
【发布时间】:2015-08-31 23:29:14
【问题描述】:

如何在 windows 通用应用程序(windows phone 8.1 和 windows 8.1)中发送带附件的电子邮件

Windows.ApplicationModel.Email.EmailMessage 类仅适用于 windows phone

【问题讨论】:

    标签: c# windows-8.1 windows-phone-8.1 windows-rt


    【解决方案1】:

    在 Windows 应用商店应用中没有直接的收件箱方式来发送电子邮件。

    如您所述,Windows.ApplicationModel.Email 仅适用于 Windows Phone 运行时应用。这是通用应用程序的不连续性之一,其中一个功能在一个平台上可用,但不能同时在两个平台上可用。

    选项是:

    • 使用共享合同而不是明确强制电子邮件。这是一般的首选方法,尽管在某些特定情况下它不起作用
    • 连接到网络服务。这通常是反馈的最佳解决方案,因为应用程序可以提供自定义表单,而不必通过外部应用程序推动用户。您还可以使用将在服务器端转发到电子邮件的网络服务。
    • 直接连接到邮件服务器并实现 SMTP、POP、IMAP 等。这通常最适合可以公开自己的共享目标的服务特定应用程序。
    • 与您的情况无关,但如果您不需要附件,您可以启动 mailto: URI

    【讨论】:

      【解决方案2】:

      您可以使用来自System.Net.Mail-Namesapce 的MailMessage email = new MailMessage();

      【讨论】:

      • System.Net.Mail 在 Windows Universal 8.1 下也不可用
      【解决方案3】:

      您可以在 Windows 8 中使用 SMTP 发送电子邮件:

      SmtpMail oMail = new SmtpMail("TryIt");
      oSmtp = new SmtpClient();
      oMail.From = new MailAddress("abc@gmail.com");
      oMail.To.Add(new MailAddress("xyz@gmail.com"));
      oMail.Subject = "Subject ";
      oMail.TextBody = "Here is body";
      SmtpServer oServer = new SmtpServer("smtp.gmail.com");
      oServer.User = "abc@gmail.com";
      oServer.Password = "123456";
      oServer.ConnectType = SmtpConnectType.ConnectSSLAuto;
      await oSmtp.SendMailAsync(oServer, oMail);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-08
        • 1970-01-01
        • 2016-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多