Attach a PDF file to email - Swift

后端 未结 3 1726
终归单人心
终归单人心 2020-12-08 23:34

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               


        
3条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-08 23:55

    we can attache PDF file with email and send it programmatically

    with Swift 2.2

    @IBAction func sendEmail(sender: UIButton)
        {
            //Check to see the device can send email.
            if( MFMailComposeViewController.canSendMail() )
            {
                print("Can send email.")
    
                let mailComposer = MFMailComposeViewController()
                mailComposer.mailComposeDelegate = self
    
                //Set to recipients
                mailComposer.setToRecipients(["your email address heres"])
    
                //Set the subject
                mailComposer.setSubject("email with document pdf")
    
                //set mail body
                mailComposer.setMessageBody("This is what they sound like.", isHTML: true)
    
                if let filePath = NSBundle.mainBundle().pathForResource("All_about_tax", ofType: "pdf")
                {
                    print("File path loaded.")
    
                    if let fileData = NSData(contentsOfFile: filePath)
                    {
                        print("File data loaded.")
                        mailComposer.addAttachmentData(fileData, mimeType: "application/pdf", fileName: "All_about_tax.pdf")
    
                    }
                }
    
                //this will compose and present mail to user
                self.presentViewController(mailComposer, animated: true, completion: nil)
            }
            else
            {
                print("email is not supported")
            }
        }
    
        func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?)
        {
            self.dismissViewControllerAnimated(true, completion: nil)
        }
    

提交回复
热议问题