MT支持SMTP吗?

时间:2011-01-16 14:23:43

标签: smtp xamarin.ios

MT是否支持SMTP SendMail,还是我坚持使用MFMailComposeViewController?现在,我有它工作(MFMailComposeViewController),但是当我添加附件时,收件人不会收到邮件。

我想知道SMTP是否更可靠并处理附件。

2 个答案:

答案 0 :(得分:2)

是的,在System.Net.Mail下支持它,但不建议使用它,因为除非你在你的应用程序上要求它们,但我不知道它是否能从系统获取用户凭据反对苹果的EULA。

我已成功使用以下代码从iphone发送带附件的电子邮件,希望这有助于:)

MFMailComposeViewController _mail;
mailButton.TouchUpInside += (o, e) =>
            {
                byte[] data = File.ReadAllBytes("photo.png");
                NSData datas = NSData.FromArray(data);
                if (MFMailComposeViewController.CanSendMail) 
                {
                    _mail = new MFMailComposeViewController ();
                    _mail.SetMessageBody ("This is the body of the email", false);
                    _mail.AddAttachmentData(datas, "image/png", "photo.png");
                    _mail.Finished += delegate(object sender, MFComposeResultEventArgs e1) 
                    {
                        if (e1.Result == MFMailComposeResult.Sent) 
                        {
                            UIAlertView alert = new UIAlertView ("Mail Alert", "Mail Sent", null, "Success", null);
                            alert.Show ();

                            //you should handle other values that could be returned in e.Result and also in e.Error 
                        }
                            e1.Controller.DismissModalViewControllerAnimated (true);
                    };

                    this.PresentModalViewController (_mail, true);

                } else {
                    //handle not being able to send mail
                }
            };

此处还有测试解决方案的链接,它基于mike bluestein的示例http://dl.dropbox.com/u/2058130/MailDemo.zip,它适用于我:)

希望这会有所帮助

亚历

答案 1 :(得分:1)

无论是否支持,都不应该使用它。

您无法获取用户的SMTP连接设置,因此您无法以用户身份发送邮件。

您不能假设用户的连接可以连接到您的服务器。