MT是否支持SMTP SendMail,还是我坚持使用MFMailComposeViewController?现在,我有它工作(MFMailComposeViewController),但是当我添加附件时,收件人不会收到邮件。
我想知道SMTP是否更可靠并处理附件。
答案 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连接设置,因此您无法以用户身份发送邮件。
您不能假设用户的连接可以连接到您的服务器。