2017-06-14 17 views
2

私のアプリでは頑張っていますが、問題があります。 メールを送信するには、SwiftのHTMLコードに画像を挿入する必要があります。HTML Bodyに画像を挿入する方法Email Swift 3?

これは私のコードですが、もちろん動作しません!

var h = "<html><body leftmargin=15% topmargin=2% marginwidth=7% marginheight=7%>" 
h = h + "<img width=100px src=logoICR.png>" 
h = h + "</body></html>" 
+0

ようにあなたは、このHTTPSを見たことがあります。 com/questions/12210571/how-to-add-a-image-in-email-body-using-mfmailcomponentviewcontrolle r –

+0

私はあなたがHTMLタグで画像を送ることができないと思います。あなたは添付ファイルとしてのみ送ることができます –

+0

あなたをタクします。私は電子メールの見通しhtmlでやったが、私はイメージソースを知っている、スウィフトXcodeで、私doñaはどこに知っている? (Src = ??????) – Gilko

答えて

3

メールHTMLボディ内部の画像を挿入するコードの下にしてみてください。


コード画像のフルパスを与える スウィフト4.0 & スウィフト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(["[email protected]"]) 
     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) 
    } 

} 
+0

ありがとうございますが、このコードは私のためには動作しません。私はコードを持っている私はちょうど私の画像galery(xcassetフォルダ)からのロスダ画像の方法を見つけるために必要なコードを取得 – Gilko

0

で動作します:// stackoverflowの:

<img width=100px src=http://example.com/images/logoICR.png> 
+0

私はなぜ知っていないが、動作しません – Gilko

関連する問題