2011-07-07 14 views
8

Postada MFMailComposer kullanarak bazı resimler gönderiyorum. Görüntüyü HTML gövdesine eklemek için Base64 ve <img> etiketini kullanarak dönüştürüyorum (ek ekinde eklemiyorum).Neden <img> numaralı MFMailComposer resmi postada göstermiyor?

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

görüntüleri MFMailComposergörüntüleme doğru, ancak MFMailComposer gönderilen ve gerçek postada görüntülenen resim bulunmamaktadır.

Çalıştırmak için ne yapmalıyım?

+2

: MFMailcomposer bir pdf çalışmak gibi ... Bu deneyin ve kart ile pdf yerine garip öğeleri almak için ekstra ekleri ile beraber bir görüntü göndermek zorunda olduğu bir hata vardır e-postayı görüntülemek için – Joe

+0

@Deepmist, Yeah. Geç cevap verdiğim için özür dilerim. IMac – EmptyStack

cevap

5

Birkaç hafta önce aynı sorunu yaşadım ve Gmail'in yerleşik görüntüleri desteklemediğini öğrendim. E-postadaki resimleri, alan e-postanız gibi diğer posta sağlayıcılarında görebilir, ancak Gmail’de göremezsiniz.

Başka bir e-posta göndermeyi deneyin ve görüntüleri görebilirsiniz. Resimleri ek olarak eklemeniz gerekiyor, ardından görselleri görebiliyorsunuz ve e-posta gövdesinin alt kısmını gösterecektir.

Bu yardımın umarım.

+0

Wow'da Safari kullanıyorum! Harika. Görüntüyü Yahoo mailimde gösteriyor. Teşekkür ederim! Ayrıca, Gmail'de resim gösterisi yapmak için başka bir çözüm yok mu? Gmail tek istisna mıdır yoksa bu durumda resim göstermeyen başka posta sunucuları var mı? – EmptyStack

+0

Diğerleri hakkında pek emin değilim, ancak Gmail ile çalışmıyordu ve kendi posta sunucumu kontrol ettim ve çalışıyordu. Yani sanırım Gmail hariç, hepsinde çalışmalı. – Deeps

+0

Tamam. Teşekkürler dostum! Yardımın için sağol! – EmptyStack

0

Resimleri ek olarak eklemelisiniz. HTML ile gördüğünüz oluşturulmuş e-posta, eksik resim URL'siyle düzgün bir şekilde oluşturulmuyor.

burada bir örnektir: Uyarı, bir PDF gibi şeyleri dahil etmek isterseniz, bir görüntü eklemeniz gerekir, aksi halde mfmailcomposer başarısız olur ... bu bir elma böceğinde.

Çözümü buldum ... Bu konuda Apple radarında bir hata bulundu. Nelerdir

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]; 
İlgili konular