Всем доброго утра! Настроил отправку email, но не могу разобраться, как вложить в письмо изображение. В идеале даже нужно не вложением сделать, а что-бы изображение отображалось в теле письма с помощью HTML. Что есть:
Есть imageView который получает в качестве фона rgb код.
colorImage.backgroundColor = UIColor(red: CGFloat(r!) / 255, green: CGFloat(g!) / 255, blue: CGFloat(b!) / 255, alpha: 1.0)
Через extension преобразую rgb код в изображение
extension UIImage {
static func createImage(color: UIColor) -> UIImage {
let rect = CGRect(x: 0, y: 0, width: 1, height: 1)
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()
context!.setFillColor(color.cgColor)
context!.fill(rect)
let img = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return img!
}
}
Далее пытаюсь вставить его в письмо, но тут ступор. Как собственно вставить изображение в письмо с помощью HTML?
@IBAction func shareButton(_ sender: UIButton) {
// подключаем обработчик email
if !MFMailComposeViewController.canSendMail() {
self.showSendMailErrorAlert()
} else {
let composeVC = MFMailComposeViewController()
composeVC.mailComposeDelegate = self
// image for email
let emailImage = UIImage.createImage(color: UIColor(red: CGFloat(r!) / 255, green: CGFloat(g!) / 255, blue: CGFloat(b!) / 255, alpha: 1.0))
if let data = UIImagePNGRepresentation(emailImage) {
let filename = getDocumentsDirectory().appendingPathComponent("ralImage.png")
try? data.write(to: filename)
}
// Configure the fields of the interface.
composeVC.setToRecipients(["address@example.com"])
composeVC.setSubject(ralName!)
composeVC.setMessageBody(ralName!, isHTML: true)
// Present the view controller modally.
self.present(composeVC, animated: true, completion: nil)
}
}