【问题标题】:Mail sent successfully but don't recieve using MFMailComposeViewController邮件发送成功,但使用 MFMailComposeViewController 未收到
【发布时间】:2018-01-09 04:56:59
【问题描述】:

我在 Xamarin ios 中工作。我需要实现邮件功能。我实现了代码并在结果中获得了“发送”。但收件人不会收到。我正在使用 MFMailComposeViewController 来实现邮件功能。

以下是代码:

      if (MFMailComposeViewController.CanSendMail)
        {
            mailController = new MFMailComposeViewController();
            mailController.SetToRecipients(new string[] { abcd@gmail.com });
            mailController.SetSubject("");
            mailController.SetMessageBody("", false);
            mailController.Finished += (object s, MFComposeResultEventArgs args) =>
            {
                                   args.Controller.DismissViewController(true, null);
            };

        }

【问题讨论】:

  • 这是abcd@gmail.com 有效的mailID,如果不是检查你自己的邮件
  • 这只是一个例子,在我的真实代码中我使用自己的电子邮件 id
  • 我在“CanSendMail”中得到true,并且发送邮件成功,但没有收到
  • 真机是否配置了有效的邮箱账号。在真机中查看此验证码。并且不要忘记检查手机的网络连接

标签: ios xamarin.ios mfmailcomposeviewcontroller


【解决方案1】:
if (MFMailComposeViewController.CanSendMail)
    {
        mailController = new MFMailComposeViewController();
        mailController.SetToRecipients(new string[] { abcd@gmail.com });
        mailController.SetSubject("");
        mailController.SetMessageBody("", false);

        mailController.Finished += (object s, MFComposeResultEventArgs args) =>
        {
                               args.Controller.DismissViewController(true, null);
        };
        this.ShowViewController(mailController, this);

    }

邮件控制器需要显示在当前控制器之上。所以添加最后一行并尝试运行代码。

它应该会在您的应用顶部打开一个电子邮件窗口。您可以在其中看到所有已填写的详细信息。

iOS 不允许您在不打开电子邮件客户端的情况下发送电子邮件。因此,您的用户是否发送电子邮件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2016-02-18
    • 2016-12-14
    • 2014-01-22
    • 1970-01-01
    • 2015-10-15
    相关资源
    最近更新 更多