我已经尝试了很多关于在您的应用程序中发送电子邮件的教程,但我所见过的没有一个显示如何使用它发送图像。我正在从 .WriteToFile 恢复图像,该图像设置为 UIImageView。我应该如何发送带有我的照片的电子邮件?
尼尔
您需要在attachmentData
邮件中添加一个,将您的图像编码为 NSData。这是一个示例,向您展示如何使用您的图像发送电子邮件。我想你有一个UIViewController
可以放置函数的地方sendMail
。
import MessageUI
class MyViewController: UIViewController, MFMailComposeViewControllerDelegate
{
// .... your stuff
func sendMail(imageView: UIImageView) {
if MFMailComposeViewController.canSendMail() {
let mail = MFMailComposeViewController()
mail.mailComposeDelegate = self;
mail.setCcRecipients(["yyyy@xxx.com"])
mail.setSubject("Your messagge")
mail.setMessageBody("Message body", isHTML: false)
let imageData: NSData = UIImagePNGRepresentation(imageView.image)!
mail.addAttachmentData(imageData, mimeType: "image/png", fileName: "imageName.png")
self.presentViewController(mail, animated: true, completion: nil)
}
}
}
为了解除 VC,请在您的 中包含以下方法ViewController
:
func mailComposeController(controller: MFMailComposeViewController,
didFinishWithResult result: MFMailComposeResult, error: NSError?) {
controller.dismissViewControllerAnimated(true, completion: nil)
}
此方法的文档在MFMailComposeViewControllerDelegate中报告。