使用依赖服务从 Xamarin.Forms 应用发送电子邮件

Posted

技术标签:

【中文标题】使用依赖服务从 Xamarin.Forms 应用发送电子邮件【英文标题】:Send email from Xamarin.Forms app using Dependency Service 【发布时间】:2016-12-09 14:58:20 【问题描述】:

在我的应用程序中,出于调试目的和测试目的,我需要发送一封电子邮件。

当发送邮件控制器的类不包含 PresentViewController 的定义时,我如何呈现邮件控制器?在用户从触发的警报中单击“是”后,该类需要触发电子邮件应用程序。

    public async Task<bool> SendEmail(Exception ex)
    
        var result = await SendNotificationToRequestSendingEmail();

        if (result)
        

            if (MFMailComposeViewController.CanSendMail)
            
                mailController = new MFMailComposeViewController();

                mailController.SetToRecipients(new string[]  "test@one.com", "test@two.com" );
                mailController.SetSubject("Details");
                mailController.SetMessageBody($"Message: ex.Message" +
                                              $"Exception: ex.ToString()"
                                              , false);

                mailController.Finished += (object s, MFComposeResultEventArgs args) =>
                
                    Console.WriteLine(args.Result.ToString());
                    args.Controller.DismissViewController(true, null);
                ;

                this.PresentViewController(mailController, true, null); //this line causes the error
            
        

        return true;
    

我该如何解决或解决此问题?这是从 Xamarin 表单页面调用的。

【问题讨论】:

【参考方案1】:

请看一下这个答案:

Sending e-mail from Gmail in Xamarin.Forms app

除此之外,您还可以使用此 NuGet 包:

https://www.nuget.org/packages/Xam.Plugins.Messaging/

【讨论】:

以上是关于使用依赖服务从 Xamarin.Forms 应用发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms iOS 依赖服务中的触觉反馈崩溃

使用 Prism 在 Xamarin Forms 的后台服务中实现依赖注入

应用程序启动与否时发出通知铃声(Xamarin.Forms)

Xamarin.Forms DependencyService 始终返回 null

从导航堆栈中删除页面 - xamarin.forms

如何使Xamarin Forms App自动更新?