我在我的应用程序中努力工作,但我遇到了问题。需要从 Swift 在我的 HTML 代码中插入图像才能发送电子邮件。
这是我的代码,但当然不起作用!
var h = "<html><body leftmargin=15% topmargin=2% marginwidth=7% marginheight=7%>"
h = h + "<img width=100px src=logoICR.png>"
h = h + "</body></html>"
请尝试
以下代码在电子邮件HTML正文中插入图像。
<小时 />代码适用于 Swift 4.0 和 Swift 3.1<小时 />import MessageUI
class ViewController: UIViewController, MFMailComposeViewControllerDelegate{
override func viewDidLoad() {
super.viewDidLoad()
}
//MARK: - Send Email
@IBAction func actionSendEmail(_ sender: Any) {
if !MFMailComposeViewController.canSendMail() {
print("Mail services are not available")
return
}
let image = UIImage(named:"testImage") // Your Image
let imageData = UIImagePNGRepresentation(image!) ?? nil
let base64String = imageData?.base64EncodedString() ?? "" // Your String Image
let strHtml = "<html><body><p>Header: Hello Test Email</p><p><b><img src='data:image/png;base64,(String(describing: base64String) )'></b></p></body></html>"
let composeVC = MFMailComposeViewController()
composeVC.mailComposeDelegate = self
// Configure the fields of the interface.
composeVC.setToRecipients(["address@example.com"])
composeVC.setSubject("Hello!")
composeVC.setMessageBody(strHtml, isHTML: true)
// Present the view controller modally.
self.present(composeVC, animated: true, completion: nil)
}
//MARK:- MFMailCompose Delegate Methods
func mailComposeController(_ controller: MFMailComposeViewController,
didFinishWith result: MFMailComposeResult, error: Error?) {
// Dismiss the mail compose view controller.
controller.dismiss(animated: true, completion: nil)
}
}
给出图像的完整路径:喜欢
<img width=100px src=http://example.com/images/logoICR.png>