2012-01-27 8 views
5

मैं NSData ऑब्जेक्ट की सामग्री के साथ एक ईमेल भेजने के लिए निम्न कोड का उपयोग कर रहाiOS: अनुलग्नक के साथ ई-मेल भेजने कहते हैं एक और संलग्न (.txt) फ़ाइल स्वचालित रूप से

MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; 

[controller setSubject:@"Subject"]; 
[controller addAttachmentData:data mimeType:@"application/pdf" fileName:@"Attachment"]; 
[controller setMessageBody:@"Please find attached the connections for..." isHTML:NO]; 

controller.mailComposeDelegate = self; 
[self presentModalViewController:controller animated:YES]; 

: (चर नाम के साथ: डेटा) यह एक संलग्नक के रूप में एक पीडीएफ के रूप में उत्पन्न एक UIView जोड़ता है और ईमेल भेजता है। यह सब ठीक है, एक समस्या के अलावा:

जब ईमेल प्राप्त होता है, संलग्न पीडीएफ के साथ, एक और संलग्न .txt फ़ाइल है जिसका सामग्री है: "मेरे आईपैड से भेजा गया"। अगर मैं पीडीएफ संलग्न नहीं करता हूं, तो "मेरे आईपैड से भेजा गया" संदेश ईमेल के बॉडी में दिखाई देता है, बजाय एक संलग्न फाइल में।

क्या किसी के पास कोई सुराग है कि इसे कैसे हल किया जा सकता है? मैं नहीं चाहता कि संदेश में टेक्स्ट फ़ाइल संलग्न हो।

सादर,

Petar

+0

हाय, क्या इस समस्या का कोई अपडेट है या ऐप्पल को सूचित कोई भी बग है जिसका मैं उल्लेख कर सकता हूं? – Amit

उत्तर

4

ऐसा लगता है कि जब आप किसी अनुलग्नक, सब कुछ के साथ एक ईमेल भेजने के उस में एक बहुखण्डीय/मिश्रित संदेश के रूप में लपेटा जाता है, और सब कुछ Base64 के रूप में एन्कोड, सहित संदेश शरीर और हस्ताक्षर! तो यह इस तरह दिखता है ...

Content-Type: multipart/mixed; 
    boundary="_003_81E0DB72B1F643FBAA40D9BCB66A11E4_" 

--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_ 
Content-Type: text/plain; charset="utf-8" 
Content-Transfer-Encoding: base64 

SGkgTW9tIQ== 

(कि "Hi Mom!" Base64 के रूप में एन्कोड किया)

--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_ 
Content-Type: application/octet-stream; name="MyAttachment.xlsx" 
Content-Description: MyAttachment.xlsx 
Content-Disposition: attachment; filename="MyAttachment.xlsx"; size=15262 
Content-Transfer-Encoding: base64 

UEsDBBQABgAIAAAAIQA3Mb2RgAEAAIQFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC 

स्निप

AF81AABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAANAA0AaAMAACA4AAAAAA== 

--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_ 

Content-Type: text/html; name="ATT00001.htm" 
Content-Description: ATT00001.htm 
Content-Disposition: attachment; filename="ATT00001.htm"; size=91 
Content-Transfer-Encoding: base64 

PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj48L2Rpdj48ZGl2Pjxicj48YnI+U2VudCBmcm9tIG15IGlQYWQ8L2Rpdj48L2JvZHk+PC9odG1sPg== 

(कि <html><body bgcolor="#FFFFFF"><div></div><div><br><br>Sent from my iPad</div></body></html> Base64 के रूप में है)
--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_-- 

भले ही आप सेटिंग्स >> मेल, संपर्क, कैलेंडर पर जाएं और हस्ताक्षर मिटा दें, फिर भी आपको एक खाली HTML दस्तावेज़ संलग्न होगा।

सही दीर्घकालिक उत्तर शायद इसे ऐप्पल को एक बग के रूप में सबमिट करना होगा और प्रतीक्षा करें। इस बीच, यदि यह वास्तव में एक शोस्टॉपर बग है, तो मैं सुझाव दूंगा कि आप हस्ताक्षर के बिना पूरे मल्टीपार्ट/मिश्रित ईमेल बॉडी को स्वयं उत्पन्न करें, और देखें कि क्या यह मूर्खतापूर्ण है कि ईमेल में MFMailComposeViewController मूर्खतापूर्ण है कि ईमेल में अनुलग्नक नहीं है। निजी तौर पर, मुझे लगता है कि मैं अपने ग्राहक को इसके साथ रहने के लिए कहूंगा। :)

+0

हाय, क्या इस समस्या का कोई अपडेट है या ऐप्पल को सूचित कोई भी बग है जिसे मैं संदर्भित कर सकता हूं? – Amit

संबंधित मुद्दे