gpt4 book ai didi

swift - 从保存在表格 View 中的已发送电子邮件中获取电子邮件和时间戳

转载 作者:搜寻专家 更新时间:2023-11-01 05:36:09 25 4
gpt4 key购买 nike

我正在使用 MFMailComposeViewController 发送电子邮件,但在您发送电子邮件后,我想在 tableview 上显示电子邮件和完成时间。我该怎么做?

我的表格代码是基本的

//This is empty, just to populate the empty table for now
var sentEmails = [String]()

//Number of Sections
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}

//Number of Rows
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return sentEmails.count
}

//Cell Configuration
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath)

let row = indexPath.row
cell.textLabel?.text = sentEmails[row] //Email here?
cell.detailTextLabel?.text = "time stamp"//maybe?

return cell
}

这是我的邮件代码

 func contactPicker(picker: CNContactPickerViewController, didSelectContactProperty contactProperty: CNContactProperty) {

//Checks if composer can sent email
if MFMailComposeViewController.canSendMail() {

let mail = MFMailComposeViewController()

mail.mailComposeDelegate = self

//Add the email to the recipient field
if let emailAddress = contactProperty.value as? String {
mail.setToRecipients([emailAddress])
}

//Dismisses the current view and presents the mail composer view
self.dismissViewControllerAnimated(true, completion: {() -> Void in
self.presentViewController(mail, animated: true, completion: nil)
})

} else {
print("send error")
}
}

//Dismiss Buttons for Mail Composer
func mailComposeController(controller:MFMailComposeViewController, didFinishWithResult result:MFMailComposeResult, error:NSError?) {

switch result {
case MFMailComposeResultCancelled:
print("Mail Cancelled")
case MFMailComposeResultSaved:
print("Mail Saved")
case MFMailComposeResultSent:
print("Mail Sent")
case MFMailComposeResultFailed:
print("Mail sent failure: \(error)")
default:
break
}

controller.dismissViewControllerAnimated(true, completion: nil)
}

如何让发送的邮件和时间显示在我的 table 上?先感谢您。

最佳答案

MFMailComposeViewController 在进程外运行,并且根据设计不提供除完成状态之外的任何更多信息。

如果您需要更多信息,您将需要手动发送电子邮件,这可能是一项非常乏味的任务,我强烈建议您不要这样做,除非这是您产品的核心。

更新 您无法使用内置邮件编辑器获取它。如果您更喜欢重新实现电子邮件客户端,有几个开源客户端:http://libmailcore.com ; (请记住,您将无法访问迫使她从头开始设置帐户的用户帐户)。或者,您可以从您的服务器或仅在客户端提供 UI 的第 3 方服务发送电子邮件,例如第三方服务https://github.com/sendgrid/sendgrid-objc

关于swift - 从保存在表格 View 中的已发送电子邮件中获取电子邮件和时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39110175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com