我已经尝试过很多关于在您的应用中发送电子邮件的教程,但我见过的所有教程都没有显示如何使用它发送图像。我正在从.WriteToFile恢复图像,此图像设置为UIImageView。我应该如何发送带有我照片的电子邮件?
尼尔
答案 0 :(得分:15)
您需要在邮件中添加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中报告。