从您的应用程序发送一封带有 Swift 附件图像的电子邮件

Posted

技术标签:

【中文标题】从您的应用程序发送一封带有 Swift 附件图像的电子邮件【英文标题】:Sending an email from your app with an image attached in Swift 【发布时间】:2016-07-14 13:19:02 【问题描述】:

我已经尝试了很多关于在您的应用中发送电子邮件的教程,但我所见过的没有一个显示如何使用它发送图像。我正在从 .WriteToFile 恢复图像,该图像设置为 UIImageView。我应该如何发送带有我的图片的电子邮件?

尼尔

【问题讨论】:

【参考方案1】:

您需要在邮件中添加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 中报告了此方法的文档。

【讨论】:

按下取消时我应该如何关闭邮件表单?截图:postimg.org/image/6pz5yv5lj 感谢 Adda_25 这帮了很多忙。

以上是关于从您的应用程序发送一封带有 Swift 附件图像的电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 uuencode 的“sendmail”发送邮件,并带有主题

使用python发送带有(docx)附件的邮件

Android - 发送带有返回 0KB 大小的图像附件的电子邮件

带有 html 的电子邮件附件在某些设备上不可见

从带有附件的 Databricks Notebook 发送电子邮件

从您的应用程序向 Google Play 商店发送费率