I want to send email with a PDF attachment. I created PDF file, then I did the following which is wrong I believe:
// locate folder containing pdf file
First one, import:
import MessageUI
And implement de Email Delegate, like
public class MyViewController : UIViewController, MFMailComposeViewControllerDelegate { ...
If you have the file or the Data type, you can use this function:
let filePath = NSBundle.mainBundle().pathForResource("chart", ofType: "pdf")
let fileData = NSData(contentsOfFile: filePath)
sendEmail(data:fileData)
Swift 4
func sendEmail(data:Data?){
if( MFMailComposeViewController.canSendMail() ) {
let mailComposer = MFMailComposeViewController()
mailComposer.mailComposeDelegate = self
mailComposer.setToRecipients(["john@stackoverflow.com", "mrmins@mydomain.com", "anotheremail@email.com"])
mailComposer.setSubject("Cotización")
mailComposer.setMessageBody("My body message", isHTML: true)
if let fileData = data {
mailComposer.addAttachmentData(fileData, mimeType: "application/pdf", fileName: "MyFileName.pdf")
}
self.present(mailComposer, animated: true, completion: nil)
return
}
print("Email is not configured")
}
And the compose:
public func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?){
self.dismiss(animated: true, completion: nil)
print("sent!")
}