【发布时间】:2015-11-05 13:46:52
【问题描述】:
我尝试了 2 个来自不同网站的代码来从我的 iOS 应用发送电子邮件。 当我按下 Send 按钮时,它会调用方法 mailComposeController 并始终返回日志“已发送邮件”,因为 result 参数始终为 MFMailComposeResultSent.value,即使我的 iPhone 5S 处于飞行模式。
除此之外,即使我有互联网连接,我也从未收到过电子邮件。已经检查了垃圾邮件和其他文件夹,如果延迟则等待一整天,但即使尝试了几次也没有收到。
从 2014 年中期开始,我使用 Swift 编程并在 Macbook Pro 视网膜上使用 XCode 6.4 和 Yosemite 10.10.5。
这里是 Swift 代码:
import UIKit
import MessageUI
class ViewController: UIViewController, MFMailComposeViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
if (MFMailComposeViewController.canSendMail()) {
var emailTitle = "Vea Software Feedback"
var messageBody = "Vea Software! :)"
var toRecipents = ["oscar.muntal@gmail.com"]
var mc: MFMailComposeViewController = MFMailComposeViewController()
mc.mailComposeDelegate = self
mc.setSubject(emailTitle)
mc.setMessageBody(messageBody, isHTML: false)
mc.setToRecipients(toRecipents)
self.presentViewController(mc, animated: true, completion: nil)
}else {
println("No email account found")
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// Email Delegate
func mailComposeController(controller:MFMailComposeViewController, didFinishWithResult result:MFMailComposeResult, error:NSError) {
switch result.value {
case MFMailComposeResultCancelled.value:
println("Mail cancelled")
case MFMailComposeResultSaved.value:
println("Mail saved")
case MFMailComposeResultSent.value:
println("Mail sent")
case MFMailComposeResultFailed.value:
println("Mail sent failure: \(error.localizedDescription)")
default:
break
}
self.dismissViewControllerAnimated(false, completion: nil)
}
}
非常感谢您提前提供的帮助。
【问题讨论】:
标签: ios iphone swift email in-app