1

이미지 첨부 파일과 HTML이 켜져있는 이메일을 보내려고합니다. 문제는 HTML이 켜져있을 때 이미지가 첨부 파일 대신 인라인으로 표시된다는 것입니다 (Gmail을 사용함).MFMailComposer - HTML 첨부 이미지 ON

isHTML : NO로 설정하면 이미지가 다운로드 가능한 첨부 파일로 올바르게 표시됩니다. 이미지를 html 메시지와 함께 첨부 파일로 보내려면 어떻게해야합니까?

NSData *imageAttachment = UIImageJPEGRepresentation(myUIImage,1); 

MFMailComposeViewController *mailView = [[MFMailComposeViewController alloc] init]; 
[mailView setSubject:@"My Email Subject!"]; 
[mailView addAttachmentData:imageAttachment mimeType:@"image/jpeg" fileName:@"imageAttachment.jpg"]; 
[mailView setMessageBody:messageBody isHTML:YES]; 

감사합니다 ~ !!

+1

: MFMailcomposer 당신이 이상한 항목을 얻기 위해 PDF로이 일을 같이 ...이 시도하고 카드와 함께 PDF로 교체에 별도의 첨부 파일과 함께 이미지를 보낼 필요가있는 버그가 있습니다 이 인터페이스를 약간 사용 했으므로이 동작을 제어 할 수있는 방법이 없습니다. (그러나 첨부 파일은 괜찮은 메일 리더에서 다운로드 할 수 있어야합니다.) –

+0

안녕 pws5068, 아직 해결책을 찾았습니까? – platypus

답변

0

이미지 첨부 방법이 정확하며 결과도 최대입니다.

최종 사용자 (Gmail을 사용하든 사용하지 않든)는 첨부 파일을 받아야합니다.

예를 들어, Windows Live Mail은이를 Mac OS에서 Mail을 사용할 때 이미지를 인라인으로 볼 수있는 첨부 파일로보아야합니다.

0

이미지를 첨부 파일로 추가해야합니다. HTML로 표시되는 렌더링 된 전자 메일은 누락 된 이미지 URL로 제대로 렌더링되지 않습니다.

예를 들면 다음과 같습니다. PDF와 같은 것을 포함 시키려면 이미지를 포함해야합니다. 그렇지 않으면 mfmailcomposer가 실패합니다 ... 이것은 사과 버그입니다.

해결책을 찾았습니다. 애플 레이더에 관한 버그가 제출되었습니다. 나는 '

MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; 
NSString *emailSubject = [NSString localizedStringWithFormat:@"MedicalProfile"]; 
[controller setSubject:emailSubject]; 


NSString *fileName = [NSString stringWithFormat:@"%@.pdf", profileName]; 
NSString *saveDirectory = NSTemporaryDirectory(); 
NSString *saveFileName = fileName; 
NSString *documentPath = [saveDirectory stringByAppendingPathComponent:saveFileName]; 

*** YOU MUST INCLUDE AN IMAGE OR THE PDF ATTATCHMENT WILL FAIL!!!*** 
// Attach a PDF file to the email 
NSData *pdfData = [NSData dataWithContentsOfFile:documentPath];  
[controller addAttachmentData:pdfData mimeType:@"application/pdf" fileName:fileName]; 


// Attach an image to the email 
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"miniDoc" ofType:@"png"]; 
NSData *imageData = [NSData dataWithContentsOfFile:imagePath]; 
[controller addAttachmentData:imageData mimeType:@"image/png" fileName:@"doctor"]; 


[controller setMessageBody:[NSString stringWithFormat:@"%@'s Medical Profile attatched!", profileName] isHTML:NO]; 

[self presentModalViewController:controller animated:YES]; 
controller.mailComposeDelegate = self; 
[controller release]; 
+0

감사합니다. 매우 유용합니다! – c0d3Junk13