7

में किसी ईमेल के HTML निकाय में कोई छवि कैसे एम्बेड करें I iPad से भेजे गए HTML ईमेल के शरीर में एक छवि शामिल करने का प्रयास कर रहा हूं। यह असंभव प्रतीत होता है। मैंने सीआईडी ​​दृष्टिकोण का उपयोग करने की कोशिश की है, लेकिन ऐसा लगता है कि आईओएस में अनुलग्नकों की सीआईडी ​​प्राप्त करना/सेट करना संभव नहीं है।आईओएस

मैंने छवि को src="data:image/png;base64, blahblahblah" के साथ एम्बेड करने का भी प्रयास किया है। जब आप मेल लिखते हैं तो यह काम करता प्रतीत होता है, लेकिन मेल प्राप्त होने पर कुछ भी दिखाई नहीं देता है।

कोई भी विचार?

अधिक जानकारी: हम ऐसे समाधान की तलाश नहीं कर रहे हैं जहां एक ईमेल के नीचे जेपीईजी/पीएनजी संलग्न है। [composer addAttachmentData:mimeType:fileName:] के साथ करना आसान है।

हम एक समाधान जहां छवि एक HTML- प्रारूपित ईमेल में इनलाइन एम्बेडेड है के लिए देख रहे हैं। आप उस आईएमजी टैग के चारों ओर एक लिंक लपेट सकते हैं, ताकि जब प्राप्तकर्ता आईएमजी पर क्लिक करेगा, तो उसे ऐप के आईट्यून्स पेज से जोड़ा जाएगा।

+0

एक ही समस्या यहाँ। क्या आपको सीड मिला? कैसे? धन्यवाद। – Ricardo

+0

मैंने यहां एक ब्लॉग पोस्ट किया है कि इसे यहां कैसे करें: http://blog.tinymission.com/blog/blogengine.web/post/2011/12/29/Inline-Attachments-Using-MFMailComposeViewController.aspx – Hahnemann

+0

क्या आप केवल वही चाहते हैं एक छवि या कुछ भी भेजने के लिए? मई यह पोस्ट सहायता कर सकता है http://stackoverflow.com/questions/2534217/display-local-image-in-iphone-html-mail –

उत्तर

6

से github से NSData+base64 श्रेणी करें।

तो निम्न कार्य करें:

NSData *imageData = [NSData dataWithContentsOfFile:pathInDocumentDirectory(imagePath)]; 
NSString *base64String = [imageData base64EncodedString]; 
NSString *imageString = [NSString stringWithFormat:@"data:image/png;base64,%@", base64String]; 

अंत में, HTML बॉडी जहां आपको यह चित्र प्रदर्शित करना चाहते हैं में imageString डाल दिया।

उम्मीद है कि यह मदद करता है!

+2

यह बहुत करीब है, लेकिन काफी काम नहीं करता है, क्योंकि जीमेल जैसे कुछ वेब क्लाइंट डेटा यूआरआई के साथ आईएमजी टैग प्रस्तुत नहीं करते हैं। :-(मैंने डेटा यूआरआई के रूप में एक छोटे से लाल बिंदु पीएनजी के साथ परीक्षण किया है, और आईपैड मेल क्लाइंट में और याहू मेल में छवि ठीक दिखाई दे रही है, लेकिन यह जीमेल में विफल रही (भले ही कच्चे ईमेल का निरीक्षण दिखाता है कि बेस 64 स्ट्रिंग मौजूद है) – Ron

+0

सबसे अच्छा जो मैं कर सकता था, उसमें मेरा आईएमजी टैग पॉइंट एक पीएनजी था जो मैं बाहरी वेबसाइट पर होस्ट करता हूं। लेकिन यह एक अच्छा समाधान नहीं है, क्योंकि कई वेब क्लाइंट डिफ़ॉल्ट रूप से बाहरी छवियों को अवरुद्ध करेंगे किसी भी मामले में, यह बेस 64 समाधान बहुत करीब है, इसलिए मुझे बक्षीस देने का खुशी है। :-) – Ron

+0

बहुत धन्यवाद रॉन! – Carlos

1

iphone email attachment

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

[picker setSubject:@"Hello"]; 


// Set up recipients 
NSArray *toRecipients = [NSArray arrayWithObject:@"[email protected]"]; 
NSArray *ccRecipients = [NSArray arrayWithObjects:@"[email protected]",   @"[email protected]", nil]; 
NSArray *bccRecipients = [NSArray arrayWithObject:@"[email protected]"]; 

[picker setToRecipients:toRecipients]; 
[picker setCcRecipients:ccRecipients]; 
[picker setBccRecipients:bccRecipients]; 

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

// Fill out the email body text 
NSString *emailBody = @"It is raining"; 
[picker setMessageBody:emailBody isHTML:NO]; 

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

जीमेल में छवि दिखाने के लिए, आप ऐसा करेंगे:

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

    NSMutableString *emailBody = [[NSMutableString alloc] initWithCapacity:20]; 

    NSString *linkimg = @"https://idrivethru.com/iDriveThruWeb/faces/javax.faces.resource/idrivethru_logo.png?ln=images"; 

    //Add the image 
    [emailBody appendFormat:@"<p><a href = 'https://idrivethru.com/'> <img src='%@' align='centre' alt='iDriveThru.com'> </a></p><br/>", linkimg]; 

    [emailBody appendString:@"<p>This is an email with an embeded image right <b>above</b> this text</p>"]; 

    //NSLog(@"%@",emailBody); 

    [mailCont setMessageBody:emailBody isHTML:YES]; 
    [self presentViewController:mailCont animated:YES completion:nil];