6

मैं एक ऐसा ऐप बनाने की कोशिश कर रहा हूं जो MFMailComposeViewController का उपयोग करके एक ईमेल भेजता है लेकिन वह वर्ग ईमेल शीर्षलेख सेट करने का कोई तरीका प्रदान नहीं कर रहा है।उद्देश्य-सी पर ईमेल हेडर सेट करना?

मैंने निम्न स्तर के समाधान (या यहां तक ​​कि एक पुस्तकालय) की तलाश करने की कोशिश की जो ऐसा करता है लेकिन एक नहीं मिला। मैं उद्देश्य-सी ऐप में ईमेल शीर्षलेख कैसे सेट/प्राप्त कर सकता हूं?

[संपादित करें] स्पष्ट होने के लिए, मैं ईमेल हेडर को MFMailComposeViewController द्वारा प्रदान किए गए तरीकों से सेट करने का एक तरीका ढूंढ रहा हूं। मुझे पहले से ही एक सरल ईमेल भेजने का तरीका पता है। मैं ईमेल हेडर जैसे इन-उत्तर-टू, या संदेश-आईडी

+1

हैडर का मतलब है कि आप विषय सेट करना चाहते हैं? –

+0

वहाँ सभी तरीकों है कि आप की जरूरत है: setSubject (_ :) setToRecipients (_ :) setCcRecipients (_ :) setBccRecipients (_ :) setMessageBody (_: isHTML :) addAttachmentData (_: माइम प्रकार: fileName : –

+1

नहीं, हेडर द्वारा मैं वास्तव में पूर्ण ईमेल हेडर का अर्थ है http://en.wikipedia.org/wiki/Email#Header_fields अधिक विशेष रूप से मैं संदेश-आईडी या इन-उत्तर-टू-हेडर्स जैसे शीर्षलेखों तक पहुंचने का प्रयास कर रहा था। – Vlad

उत्तर

1

स्पैरो के लेखकों ने मेलकोर (अब संस्करण 2 के साथ) नामक एक महान श्रेणी लिखी है जो आपको ऐसा करने की अनुमति देती है।

आप वर्ग कक्षा प्रलेखन यहां पहुंच जाएंगे, तो: http://libmailcore.com/mailcore2/api/Classes/MCOMessageHeader.html

आप इस तरह के messageID, inReplyTo आदि 'के रूप में गुण में उपयोगी हेडर की सभी प्रकार के मिल सकता है।

+0

धन्यवाद लेकिन अगर आप ऊपर की आवश्यकता को पढ़ते हैं, तो मैंने विशेष रूप से कहा है कि मैं मेलकोर जैसे समाधान की तलाश नहीं कर रहा हूं। – Vlad

1

यदि आप ईमेल हेडर बनाना चाहते हैं तो आप HTML का उपयोग करके अपना स्वयं का शीर्षलेख बना सकते हैं और इसे आईएसएचटीएमएल के साथ मेल के संदेश निकाय के रूप में सेट कर सकते हैं।

मैं बस निम्नलिखित कोड की कोशिश की:

NSString * Htmlstr =[NSString stringWithFormat:@ "<html>" 
        "<body>" 
        "<div id=\"container\" style=\"background-color:#EEEEEE;height:300px;width:500px;float:left;\">" 
        "<div id=\"header\" style=\"background-color:#FFA500;\">" 
        "<h3 style=\"margin-top:0;\">ABC</h3></div>" 
        "<div id=\"content\" style=\"background-color:#EEEEEE;height:300px;width:500px;float:left;\">%@</div>" 
        "<div id=\"Banner\" style=\"background-color:#EEEEEE;clear:both;text-align:left;margin-top:0;\"><img src=\"%@\" alt=\"Smiley face\" width=\"500\" height=\"100\"></div>" 

        "<div id=\"footer\" style=\"background-color:#FFA500;clear:both;text-align:center;margin-bottom:0;\">Copyright © abc.com</div>" 
        "</div>" 
        "</body>" 
        "</html>",emailBody,self.SelectedBannerImage]; 

[मेलर setMessageBody: Htmlstr isHTML: हाँ];

आशा इस मदद करता है ..

+1

धन्यवाद, लेकिन मुझे लगता है कि गलतफहमी थी। शीर्षलेख से मेरा मतलब था: http://en.wikipedia.org/wiki/Email#Header_fields – Vlad

1

मुझे लगता है कि यदि आपके पास पर्याप्त संसाधन हैं चाहते हैं, तो आप libcurl (ग पुस्तकालय) या इसके कोको रैपर में से एक है, कोई इस्तेमाल नहीं किया?

Check here for BBHTTP and CURLHandle

आपको कोको/ओबीजेसी सिंटैक्स का उपयोग करके मैन्युअल रूप से अपने एसएमटीपी ट्रैफिक को लिखने देना चाहिए। क्या आप जो खोज रहे हैं उसके साथ क्या यह अधिक है?

+0

मैं मेल.एप का उपयोग करने के लिए एक तरीका ढूंढ रहा था, बिना उपयोगकर्ता को उपयोग की सभी जटिलताओं के माध्यम से ईमेल भेजने के लिए निम्न स्तर प्रोटोकॉल। मैंने सोचा कि चूंकि शीर्षक, इत्यादि जैसे अन्य बुनियादी शीर्षकों को अनुमति दी गई है, इसलिए हाई स्तरीय एपीआई का उपयोग करके हेडर्स को इन-उत्तर-टू-इन करने के लिए एक तरीका होना चाहिए। – Vlad

+0

मैं यह सुझाव देने जा रहा था कि आप एक ईमेल को पूर्व-लिखें और इसे 'open -a mail.app myEmail' का उपयोग करके खोलें, लेकिन तब मुझे याद आया कि आप आईओएस के लिए ऐसा करने की कोशिश कर रहे हैं। मुझे लगता है कि निजी तरीकों का शोषण करने से आपका सबसे अच्छा शॉट, या तो होगा) एक बाद में निष्पादित, गैर-निजी विधि को तेज करें जो आपको मॉडल के बाहर जाने की संभावना (संभवतः) तक पहुंचने की अनुमति देता है, बी) अपना रोल करें इस मेल में वर्णित कई पुस्तकालयों में से एक द्वारा समर्थित स्वयं मेल लिखें दृश्य नियंत्रक। ऐप्पल ने जो भी आप खोज रहे हैं उसे बेनकाब नहीं किया। : / –

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