2011-07-07 10 views
8

Wysyłam obrazy w wiadomościach pocztowych za pomocą MFMailComposer. Konwertuję obraz na Base64 i używam tagu <img> do dodawania obrazów do treści HTML (nie dodaję go jako załącznik).Dlaczego narzędzie MFMailComposer z <img> nie wyświetla obrazu w poczcie?

[htmlString appendFormat: 
@"<img src='data:image/png;base64,%@' width=300 height=200 />", imageAsBase64]; 

Obrazy są wyświetlane poprawnie w MFMailComposer, ale nie istnieją żadne obrazy wyświetlane w rzeczywistym poczty, który jest wysyłany z MFMailComposer.

Co należy zrobić, aby działało?

+2

Jakie są używasz do przeglądania wiadomości e-mail? – Joe

+0

@ Deepmist, Yeah. Przepraszam za późną odpowiedź. Używam Safari w moim iMacu – EmptyStack

Odpowiedz

5

Miałem ten sam problem przed upływem kilku tygodni i dowiedziałem się, że Gmail nie obsługuje osadzonych obrazów. Możesz wyświetlać obrazy w wiadomościach e-mail w innym dostawcy poczty, takim jak poczta e-mail domeny, ale nie w Gmailu.

Spróbuj wysłać kolejną wiadomość e-mail, a zobaczysz obrazy. Musisz dodać obrazy jako załącznik, a następnie wyświetlić obrazy, a na dole pojawi się treść wiadomości e-mail.

Mam nadzieję, że ta pomoc.

+0

Wow! Wspaniały. Pokazuje obraz w mojej poczcie Yahoo. Dziękuję Ci! I nie ma innego sposobu obejścia tego obrazu w Gmailu? Czy Gmail jest jedynym wyjątkiem czy są inne serwery pocztowe, które nie wyświetlają w tym przypadku obrazów? – EmptyStack

+0

Nie jestem pewien co do innych, ale z Gmailem nie działa i sprawdziłem na własnym serwerze pocztowym i działało. Sądzę więc, że oprócz Gmaila powinien on działać we wszystkich. – Deeps

+0

W porządku. Dzięki! Doceniam twoją pomoc! – EmptyStack

0

Musisz dodać zdjęcia jako załącznik. Wyrenderowana wiadomość e-mail wyświetlana za pomocą HTML nie jest poprawnie renderowana z brakującym adresem URL obrazu.

Oto przykład: zastrzeżenie jest takie, że jeśli chcesz dołączyć takie rzeczy jak plik PDF, musisz dołączyć obraz, w przeciwnym razie mfmailcomposer zawiedzie ... to w przypadku błędu Apple.

Znalazłem rozwiązanie ... Zgłoszono błąd na temat radaru Apple. MFMailcomposer ma błąd w której trzeba wysłać zdjęcie wraz ze swoimi dodatkowymi załącznikami w celu uzyskania dziwne przedmioty jak pdf do pracy ... Spróbuj tego i wymienić PDF z kartą:

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]; 
Powiązane problemy