iPhone에서 eMails를 만들 때 MFMailComposeViewController를 사용합니다. 이 메일에는 텍스트, 텍스트 첨부 파일 및 일부 이미지 첨부 파일이 포함됩니다.MFMailComposeViewController는 이미지 첨부 파일 앞에 빈 줄을 만듭니다.
if ([MFMailComposeViewController canSendMail]) {
mailController = [[MFMailComposeViewController alloc] init];
[mailController setToRecipients:recipients];
if ([ccRecipients count] > 0) [mailController setCcRecipients:ccRecipients];
[mailController setSubject:project];
[mailController setMessageBody:message isHTML:NO];
if (csv) {
[mailController addAttachmentData:csvData mimeType:@"text/csv" fileName:csvFileName];
}
QEMailAddPicturesOperation * operation = [[QEMailAddPicturesOperation alloc] init];
operation.delegate = self;
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue addOperation:operation];
}
@implementation QEMailAddPicturesOperation
- (void) main {
....
for (NSString * fileName in listOfPictures) {
NSString * path = [directory stringByAppendingPathComponent:fileName];
NSData * imageData = UIImageJPEGRepresentation([UIImage imageWithContentsOfFile:path], PIC_COMPRESSION_RATE);
[mailController addAttachmentData:imageData mimeType:@"image/jpg" fileName:fileName];
}
}
모두 잘 작동하며 메일을 보낼 수 있습니다. 는하지만 결과는 다음과 같습니다
Content-Type: multipart/mixed; boundary=Apple-Mail-256A861D-10BB-4031-8DFB-0E8FDA8F9337
....
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (1.0)
X-Mailer: iPhone Mail (9A405)
....
--Apple-Mail-256A861D-10BB-4031-8DFB-0E8FDA8F9337
Content-Transfer-Encoding: 7BIT
Content-Type: TEXT/plain;
charset=us-ascii
--Apple-Mail-256A861D-10BB-4031-8DFB-0E8FDA8F9337
Content-Disposition: inline;
filename=MFA_001.JPG
Content-Type: IMAGE/jpg;
....
당신은 다음을 참조하십시오 메일 작곡가 첨부 된 (그리고 base64로 구분) 이미지 사이에 여러 텍스트 줄을 넣습니다.
Outlook 2010에서는이 줄을 첨부 파일 (ATT ......)로 해석합니다. 예를 들어 8 개의 이미지를 보내는 경우 Outlook에서는 추가로 8 개의 빈 첨부 파일이 만들어집니다. Outlook은 iPhone-Mail의 서명을 첨부 파일로 보여줍니다. Mac에서 Outlook 2011이 작동합니다.
iPhone에서 빈 줄을 만들거나 Outlook (2007, 2010)에서 첨부 파일을 만드는 것을 어떻게 피할 수 있습니까?