2

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)에서 첨부 파일을 만드는 것을 어떻게 피할 수 있습니까?

답변

0

답변이 없으므로 여기에 질문을 다시 게시했습니다. MFMailComposeViewController Attaches Signature as .txt file.

파기가 더 많으면 Exchange 서버의 문제이며 Swift/iOS/등이 아닙니다. Exchange에서 전자 메일 콘텐츠를 주문하는 방법과 관련이 있습니다. 새로운 버전의 Exchange가 문제를 해결하는지에 대한 명확한 답을 찾지 못했습니다. MIT 링크에는 특히 Exchange Server 2007 & 2010이 나와 있습니다. 또한 Exchange에서 메일을 보내고받지 못하는 문제인지 확인할 수있었습니다.

http://kb.mit.edu/confluence/pages/viewpage.action?pageId=4981187

https://support.microsoft.com/en-us/help/969854/the-body-of-a-message-is-shown-incorrectly-as-an-attachment-if-you-try