2010-02-16 3 views
4

MessageUI 프레임 워크를 사용하여 이미지와 pdf를 전자 메일에 첨부하려고합니다. Apple 설명서의 MailComposer 예제를 따랐습니다.iPhone MessageUI 첨부 파일을 수신자에게 보내지 않습니다.

iPhone에서 완벽하게 작동하는 것 같습니다. 이미지와 pdf는 모두 메일 보내기 창 본문에 예상대로 표시됩니다.

그러나 MacBook에서 이메일을받을 때 두 가지 문제가 있습니다.

1) myImage.png 첨부 파일로 나타나 올바른 크기지만 완전히 비어

모든

에 부착하지만,로 표시되지 않습니다 2) myPDF.pdf 때 내 아이폰에서 메일을 받으면 myImage.png가 잘 보입니다. myPDF.pdf는 여전히 내 아이폰에 메일에 나타나지 않습니다.

누군가가 어떤 일이 일어 났는지에 대해 알려줄 수 있기를 바랍니다.

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
picker.mailComposeDelegate = self; 

[picker setSubject:@"Test Email"]; 

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


// Attach a PDF file to the email 
NSString *pdfPath = [[NSBundle mainBundle] pathForResource:@"myPDF" ofType:@"pdf"]; 
NSData *pdfData = [NSData dataWithContentsOfFile:pdfPath]; 
[picker addAttachmentData:pdfData mimeType:@"application/pdf" fileName:@"myPDF"]; 


// Fill out the email body text 
NSString *emailBody = @"This is a test."; 
[picker setMessageBody:emailBody isHTML:NO]; 

[self presentModalViewController:picker animated:YES]; 
[picker release]; 

편집 대신에 저장하고 내가 NSDocumentsDirectory를 사용하고 모든 것이 잘 작동 내 mainBundle에 내 이미지 및 PDF를 검색 :

여기에 관련 코드입니다.

답변

0

실제로 문제를 야기하는 경우 나도 몰라,하지만 대부분의 사람들은 즉, addAttachmentData에 파일 이름 매개 변수에 저도 같은 문제가 있었다

[picker addAttachmentData:imageData mimeType:@"image/png" fileName:@"myImage.png"]; 
+0

실제로 파일 형식이 이미 pathForResource : ofType에 지정되어 있으므로 필요하지 않습니다. 그러나 어쨌든 시도했지만 아무런 차이가 없습니다. – jj0b

+0

pathForResourceOfType은 데이터를로드하는 * 것에 대한 것이지만, fileName 매개 변수는 전자 메일 클라이언트가 데이터를 해석하는 방법에 영향을 미쳤을 수 있습니다. * Mac에서 전자 메일을받을 때 전자 메일을 게시 할 수 있습니까? –

0

을 파일 이름 확장자를 포함하는 것 나는 것으로 결정 MFMailComposeViewControllerPDF 파일의 경우 MIME을 포장하며 7 비트 전송 인코딩 (인용 부호가없는 인쇄 가능 또는 기본 64 인코딩이 아님)이 포함되어 있습니다. 물론 7 비트 인코딩을 사용하여 바이너리 파일을 전자 메일로 보낼 수는 없습니다. 따라서 누락 된 MFMailComposeViewController에 전송 인코딩 설정이 있거나이 개체에 심각한 단점이 있습니다.

1

이미지 첨부와 관련하여 동일한 문제가있었습니다. 이를 사용하여 첨부 된 이미지를 보내고 실제로 수신 할 수있었습니다.

//attachment 
UIImage *image = [UIImage imageNamed:@"image.png"]; 
NSData *imageData = UIImagePNGRepresentation(image); 

[picker addAttachmentData:imageData mimeType:@"image/png" fileName:@"theImage"]; 

나는 pdf 보내기를 시도하지 않았습니다. 죄송합니다.

그냥 내 두 센트,

감사합니다.

0

시도해보십시오,이 하나는 저에게 효과적이었습니다. 내가

내가 내 첨부 파일을 추가 할 수 있었다 ... ... 조금 오래된하지만 경우에 사람이 여기 내게 도움이 무엇을 가로 질러 오는 같은 문제가 발생되면서

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
picker.mailComposeDelegate = self; 

[picker setSubject:@"Test Email"]; 

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


// Attach a PDF file to the email 
//NSString *pdfPath = [[NSBundle mainBundle] pathForResource:@"myPDF" ofType:@"pdf"]; 
//NSData *pdfData = [NSData dataWithContentsOfFile:pdfPath]; 

[picker addAttachmentData:pdfData mimeType:@"application/pdf" fileName:@"myPDF.pdf"]; 


// Fill out the email body text 
NSString *emailBody = @"This is a test."; 
[picker setMessageBody:emailBody isHTML:NO]; 

    // [self presentModalViewController:picker animated:YES]; 

    [picker release]; 
0

나는이 건너 온 평소와 같이 (다양한 종류의 첨부 파일 6 개 사용) ... 이메일 본문에 표시되지만 수신자는 첨부 파일을 모두 가져 가지 않을 것입니다.

파일을 내 편집기로 끌어 왔으며 (m 또는 h 파일로 드래그 앤 드롭) 파일 경로를 보여줍니다.내 프로젝트에 첫 번째 파일을 복사하는 것을 게을리했다는 것을 알았습니다. 앱이 로컬 드라이브에서 당겨서 연결하려고 시도했던 다른 파일이 같은 폴더에 없으므로 중지되었습니다. 일단 내가 같은 위치에서 모든 첨부 파일을 뽑았을 때 그들은 모두 괜찮아졌다.

누군가를 돕는 희망.

관련 문제