私はMFMailComposeViewControllerからpdfを送信しています。送信者の署名は、Outlookで表示されたときには添付ファイルとして表示されますが、iOSのネイティブメールアプリでは表示されません。MFMailComposeViewControllerシグネチャを.txtファイルとして添付します
署名が添付ファイルを表示している理由は何ですか?
@IBAction func sendSpecSheetWithEmailButton(_ sender: subclassedUIButton) {
buttonURL = sender.urlString!
specName = sender.specSheetName!
let fileURL = URL(string: buttonURL)
if fileURL == URL(string: "https://www.example.com") {
alertUserSpecNotAvailable(fileURL: fileURL!, specName: specName)
} else {
sendMail(fileURL: fileURL!, attachmentType: "pdf", to: [""], cc: ["[email protected]"], subject: "Spec Sheet", message: "The spec sheet you requested is attached. \n\nSent via Our iPhone app")
}
}
誰かがここ数年前に同様の質問をしましたが、決して明確な答えはありませんでした。
編集:いくつかのより多くの掘削後、ここでsendmailが(ある)
func sendMail (fileURL: URL, attachmentType: String, to: [String]?, cc: [String], subject: String, message: String) {
if MFMailComposeViewController.canSendMail() {
let mail = MFMailComposeViewController()
mail.mailComposeDelegate = self
mail.setSubject(subject)
mail.setToRecipients(to)
mail.setCcRecipients(cc)
mail.setMessageBody(message, isHTML: false)
switch attachmentType {
case "pdf":
if let fileData = NSData(contentsOf: fileURL as URL) {
print("File data loaded.")
mail.addAttachmentData(fileData as Data, mimeType: "application/pdf", fileName: specName)
}
return self.present(mail, animated: true, completion: nil)
case "url":
mail.setMessageBody("The requested spec sheet is can be found here: \(fileURL)", isHTML: true)
return self.present(mail, animated: true, completion: nil)
case "none":
return self.present(mail, animated: true, completion: nil)
default: break
}
} else {
self.showSendMailErrorAlert()
}
}
'attachmentTypeので、それは次のようになります。 "PDF" が'間違っていますか? – matt
attachmentTypeがどこに使用されているかを示すコードが追加されました。また、pdfも正常に動作しています。 – injan33r
'specName'とは何ですか? – matt