2012-03-06 2 views
2

현재 MFMailComposer를 사용하여 HTML 메일을 작성 중입니다. 배경색 등 모든 것이 아주 잘 작동하고 온라인 URL 아래에있는 이미지를 인라인으로 임베드 할 수도 있습니다. 하지만 로컬에 저장된 UIImage를 임베드하려면 모든 것이 엉망입니다. 그러므로 나는 64 기수로 데이터를 변환 제대로 표시되는 장치 모두의 미리보기에서MFMessageViewController 및 인라인 UIImage

<img src='data:image/png;base64,%@'> 

을 다음과 같이 이미지 태그를 사용하지만 메일 응용 프로그램에서 내 컴퓨터에만 자리 질문이 있어요 내가 메일의 소스를 볼 때 마크 이미지는 모든 보낼 수있을 것 같습니다 또한 내가 성공적으로 장치의 데이터를 base64 인코딩을 기록 할 수있어

<img src="cid:(null)"> 

, 그것은 단지이 방법하지 않습니다 서버 또는 거기에서 아래로.

다음

의 내가 HTML 인라인에 이미지를 삽입하는 데 사용하는 라인은 다음과 같습니다 :

내가 메일 :(

UPDATE의 끝에서 인라인이 아닌 것으로 이미지를 필요로하는 이미지를 부착하는 것은 해결책이 아니다

[body appendFormat:@"<p><b><img src='data:image/png;base64,%@'/></b></p>",[[NSData dataWithData:UIImagePNGRepresentation([dict objectForKey:@"graphImage"])] base64EncodedString]]; 
+0

인쇄 전체 메일 텍스트와 img 태그에 오는 데이터가 보이지? – hchouhan02

+0

내가 말했듯이 NSLog()를 통해 실제 장치에서 출력 될 때 데이터는 실제로 수신 된 메일에 더 이상 데이터가없는 위의 행이 있습니다 –

+0

이 응답에서 코드를 사용해보십시오 http://stackoverflow.com/a/2461451/550177 – Felix

답변

1

아, 그랬 으면 좋겠다 ....

0

다음 사용하고 있습니다.

그것은 (I 문제에 일 지출했습니다) 인라인 이미지를 포함 할 수는 없습니다
NSString *emailBody = [NSString stringWithFormat:@"<img src='data:image/png;base64,%@' alt='testing' />",base64String]; 
[picker setMessageBody:emailBody isHTML:YES]; 
+0

% s는 장치의 미리보기 모드에서 작동하지 않습니다. 죄송합니다. –

+0

이 NSString과 같은 UTF8로 문자열을 인코딩 했습니까? * encodedBody = [eMailBody stringByAddingPercentEscapesUsingEncoding : NSUTF8StringEncoding]; – Allen

+0

이 나사는 완전히 모든 것을, 당신은 심지어 더 이상 간단한 텍스트를 읽을 수 없습니다 ... –