【发布时间】:2014-12-27 10:06:38
【问题描述】:
我无法通过 MailCore2 发送附件。 我可以将 MailCore 用于 ios 8 吗? 您能否为我提供正确的方法。 我想在附件中发送 docx、pdf、xls、png 和 jpeg 文件
【问题讨论】:
-
请告诉我们您在这里尝试了什么。有一个关于如何在libmailcore.com上发送消息的示例
我无法通过 MailCore2 发送附件。 我可以将 MailCore 用于 ios 8 吗? 您能否为我提供正确的方法。 我想在附件中发送 docx、pdf、xls、png 和 jpeg 文件
【问题讨论】:
使用 Swift 4 我必须编写以下代码:
if let imageData = self.getImageData(filename: "pic.jpg") {
var attachment = MCOAttachment()
attachment.mimeType = "image/jpg"
attachment.filename = "image.jpg"
attachment.data = imageData
builder.addAttachment(attachment)
}
NSData 不再可用。
【讨论】:
要在 SWIFT 中将图片作为附件发送,只需添加:
var dataImage: NSData?
dataImage = UIImageJPEGRepresentation(image, 0.6)!
var attachment = MCOAttachment()
attachment.mimeType = "image/jpg"
attachment.filename = "image.jpg"
attachment.data = dataImage
builder.addAttachment(attachment)
【讨论】:
遍历所有附件(文件路径)并将它们添加到 MessageBuilder:
MCOMessageBuilder *msgBuilder = [[MCOMessageBuilder alloc] init];
NSArray *allAttachments = @[@"/var/mobile/etc..", @"/var/mobile/etc2.."];
for (int x = 0; x < allAttachments.count; x++) {
NSString *attachmentPath = allAttachments[x];
MCOAttachment *attachment = [MCOAttachment attachmentWithContentsOfFile:attachmentPath];
[msgBuilder addAttachment:attachment];
}
预期附件路径示例:
"/var/mobile/Containers/Data/Application/B47D8576-B38E-4864-AC76-8EBC630B6B44/Documents/IMG_0522.JPG"
【讨论】:
MCOSMTPSession 必须具有有效凭据。我更新了我的答案,以便其他人更清楚。