2011-01-20 35 views
12

का उपयोग कर लगाव के साथ ईमेल भेजें मैं जरूरत मेरे स्थानीय रूप से स्थापित, मोटी क्लाइंट अनुप्रयोग (क्यूटी/C++) उत्पन्न करने के लिए तैयार होने वाली भेजा ग्राहक की मशीन पर ई-मेल संदेश:ग्राहक के ईमेल ऐप्स

  • इस संदेश में अपेक्षाकृत छोटी (15 के - 200 के) बाइनरी फ़ाइल की सामग्री होनी चाहिए।
  • इस संदेश को उत्पन्न होने के समय मेरे कई उपयोगकर्ता डिस्कनेक्ट हो जाएंगे, इसलिए संभव है कि बाद में ईमेल को आउटबॉक्स में बैठने की आवश्यकता हो।
  • यह एप्लिकेशन विंडोज, मैक ओएस एक्स, और विभिन्न लिनक्स distros (उबंटू/डेबियन और फेडोरा के लिए आधिकारिक समर्थन) पर चलाएगा, और कोई आवश्यकता नहीं है कि विशिष्ट ईमेल क्लाइंट स्थापित करने की आवश्यकता है।

मैं पहले से ही की कोशिश की है:

  • attach (या attachment) पैरामीटर के साथ QDesktopServices::openUrl() का उपयोग कर एक mailto: लिंक खोल रहे। लेकिन वे पैरामीटर आधिकारिक तौर पर प्रोटोकॉल का हिस्सा नहीं हैं, और कुछ क्लाइंट (विशेष रूप से आउटलुक) उन्हें अनदेखा करते हैं।
  • बेस 64 का उपयोग करके फ़ाइल को एन्कोड करना और mailto: लिंक के body पैरामीटर के हिस्से के रूप में इसे जोड़ना। लेकिन mailto लिंक की लंबाई कुछ ईमेल क्लाइंट्स (फिर से, विशेष रूप से आउटलुक) द्वारा छंटनी की जाती है, इसलिए यह काम नहीं करेगा।

Google Picasa इसे प्राप्त करता है (कम से कम, विंडोज़ पर; अन्य ओएस की जांच नहीं की जाती है) जब आप एप्लिकेशन के भीतर से चित्र भेजते हैं। यह संलग्नक और कुछ पूर्व-भरे हुए पाठ के साथ एक संदेश बनाता है। फिर आप संदेश संपादित कर सकते हैं और अपनी सुविधा पर भेज सकते हैं। कोई विचार है कि वे यह कैसे कर रहे हैं?

उत्तर

7

आप एक .eml फ़ाइल बना सकते हैं और इसे खोल सकते हैं जो आपको तब तक प्रभाव दे सकता है जब तक आप इस एक्सटेंशन के साथ फ़ाइलों को संभालने के लिए सिस्टम में पंजीकृत कोई ईमेल क्लाइंट नहीं चाहते हैं। मुझे यकीन है कि यह mailto: योजना के रूप में सार्वभौमिक नहीं है, लेकिन यदि mailto: आपके लिए काम नहीं करता है तो मुझे लगता है कि यह कोशिश करने का दूसरा सबसे अच्छा विकल्प हो सकता है।

http://www.coolutils.com/Formats/EML

से के बाद से EML फ़ाइलें उद्योग RFC 822 मानक के साथ पालन करने के लिए बनाई गई हैं, वे सबसे अधिक ई-मेल ग्राहकों, सर्वर और अनुप्रयोगों के साथ इस्तेमाल किया जा सकता। इसके अलावा माइक्रोसॉफ्ट आउटलुक एक्सप्रेस, EML फ़ाइलें सबसे ई-मेल जैसे माइक्रोसॉफ्ट आउटलुक, Microsoft Entourage, मोज़िला थंडरबर्ड, एप्पल मेल, और इंक्रेडिमेल के रूप में ग्राहकों, का उपयोग कर खोला जा सकता है।

साइड नोट
जब मैं पिकासा में क्लिक करें 'ई-मेल' मैं संवाद मैं कहाँ चुन सकते हैं जो आवेदन (थंडरबर्ड या Google Mail) मैं के साथ ईमेल भेजना चाहते हैं मिलता है। इसका अर्थ यह है कि पिकासा ईमेल भेजने के लिए उपयोग किए जाने वाले विशिष्ट ईमेल क्लाइंट को जानता है और ईमेल भेजने के लिए चयनित ईमेल क्लाइंट के लिए विशिष्ट कस्टम विधि का उपयोग कर सकता है। यह निश्चित रूप से केवल अनुमान है लेकिन यह हो सकता है कि पिकासा उपयोगकर्ता को ईमेल क्लाइंट चुनने के लिए बनाता है क्योंकि आप जो भी पूछते हैं उसके लिए कोई सामान्य तरीका नहीं है।

4

मुझे नहीं लगता कि आप सही दृष्टिकोण का उपयोग कर रहे हैं; एमएपीआई/सी ++ का प्रयोग करें। मैंने एमएपीआई/सी ++ का उपयोग करके Outlook/थंडरबर्ड में कई बार ऐसा किया है।आप रजिस्ट्री से पूछताछ करके डिफ़ॉल्ट ईमेल क्लाइंट चुन सकते हैं; मुझे लगता है कि सभी अनुप्रयोग क्या करते हैं।

इसके अलावा लिंक यहाँ http://lists.trolltech.com/qt-interest/2006-02/thread00861-0.html

+2

+1, यह विंडोज़ पर समाधान है। दुर्भाग्यवश, सवाल बताता है कि इसे एक क्रॉस-प्लेटफ़ॉर्म समाधान की आवश्यकता है ... – Stobor

1

कुछ समय पहले मैं एक मंच स्वतंत्र ढंग से 'डिफ़ॉल्ट ईमेल क्लाइंट' को खोलने के लिए एक छोटा सा पुस्तकालय लिखना शुरू किया गया है देखते हैं। इसे अभी भी कुछ काम की आवश्यकता हो सकती है, लेकिन यदि आप चाहें तो आप इसका आधार आधार के रूप में उपयोग कर सकते हैं: https://github.com/picaschaf/qt-email

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