2012-10-04 22 views
12

मैं एक विंडोज स्टोर एप्लिकेशन (विंडोज 8) विकसित कर रहा हूं।मैं WinRT/Windows Store एप्लिकेशन से एक ईमेल कैसे भेजूं?

मुझे एप्लिकेशन डेटा में संग्रहीत डेटा और पते के आधार पर ईमेल भेजने की आवश्यकता है और उपयोगकर्ता को डेटा या पता टाइप करने की आवश्यकता के बिना।

इसे लागू करने का सही/आसान तरीका क्या होगा?

EitanB

उत्तर

9

शेयरिंग का उपयोग करने का सही तरीका होगा। आपके ऐप को एक HTML दस्तावेज़ या टेक्स्ट बनाना चाहिए और इसे साझा करना चाहिए। उपयोगकर्ता शेयर आकर्षण से मेल का चयन करेगा और HTML/टेक्स्ट ईमेल का बॉडी बन जाएगा।

अधिक जानकारी के लिए देखें ...

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh973055.aspx

+0

के लिए साझाकरण का उपयोग करें इस समस्या के साथ समस्या (हालांकि, प्रश्न में उल्लिखित विशेष मामले के साथ नहीं) है, जब मैं ई। जी। फीडबैक बटन है, मैं उपयोगकर्ता को आकर्षण पट्टी पर रीडायरेक्ट नहीं कर सकता। – jalgames

30

आप

var mailto = new Uri("mailto:[email protected]&subject=The subject of an email&body=Hello from a Windows 8 Metro app."); 
await Windows.System.Launcher.LaunchUriAsync(mailto); 
+0

विंडोज 8 आरटी ऐप –

+0

के लिए साझाकरण का उपयोग करें और यह ठीक काम करता है, लेकिन मुझे लगता है कि "पसंदीदा" तरीका शेयर आकर्षण के माध्यम से होगा। आपके इनपुट के लिए धन्यवाद! –

+4

पसंदीदा तरीका हमेशा साझा आकर्षण नहीं होता है। जब आप अपने ऐप से विशिष्ट सामग्री साझा करना चाहते हैं तो शेयर आकर्षण का उपयोग किया जाता है। उदाहरण के लिए जब मेरे संपर्क में चयन करने के बाद मेरे ऐप में संपर्कों की एक सूची होती है और मुझे लगता है कि मैं इस संपर्क के संपर्क विवरण साझा कर सकता हूं और उसे मेल नहीं भेज सकता। उसे एक मेल भेजने के लिए मैं संपर्क का चयन करूंगा और ऐप बार में मेल आइकन दबाऊंगा जो मेलto का उपयोग करता है: और मेल ऐप पूर्ण स्क्रीन लॉन्च करता है। – GeertvdC

1

बेशक आप एक एसएमटीपी सर्वर की आवश्यकता होगी यह हमेशा एक SMTP सर्वर से कनेक्ट करने के लिए संभव है और इस मुद्दे को मेरा अनुरोध स्वीकार, मेल, RCPT, आदि जैसे आदेश के साथ की कोशिश कर सकते से कनेक्ट करने के लिए। मैं इसे ईमेल भेजने के लिए हमारे कॉर्पोरेट इंट्रानेट पर इसका उपयोग करता हूं।

+0

विंडोज 8 आरटी ऐप –

6

यह एक mailto के लिए उपयोग करने के लिए सही सिंटैक्स है: लिंक (के साथ एक mailto ऊपर अन्य उदाहरण के विपरीत: जो सही नहीं हैं ..)

var mailto = new Uri("mailto:[email protected]?subject=" + subject + "&body=" + body); 
await Launcher.LaunchUriAsync(mailto); 

मेलto के साथ समस्या: विधि यह है कि उपयोगकर्ता के पास मेलto से कोई क्लाइंट प्रोग्राम नहीं है: कुछ भी नहीं होगा।

उपयोग करने की सबसे विश्वसनीय विधि किसी वेब सेवा या किसी प्रकार की डब्ल्यूसीएफ सेवा है। विंडोज 8 पर 'सही' तरीका मानते समय शेयर आकर्षण का उपयोग करना, सबसे अच्छा नहीं है क्योंकि उपयोगकर्ता के पास अभी भी कोई ईमेल क्लाइंट इंस्टॉल नहीं हो सकता है, उदाहरण के लिए यदि वे अपने ईमेल के लिए gmail.com पर भरोसा करते हैं।

3

यदि आप एक सार्वभौमिक WinRT विंडोज फोन एप्लिकेशन विकसित कर रहे हैं, तो आप "Windows.AplicationModel.Email.EmailMessage" नामस्थान का उपयोग "माइक्रोसॉफ्ट.फोन.स्कॉइस.इमेल कॉम्पेन टास्क" नामस्थान के रूप में WinRT एप्लिकेशन पर काम नहीं कर सकते हैं।

फिर, एक नया ईमेल बनाने और लॉन्च करने के लिए इस कोड का उपयोग करता है।

// Create your new email message. 
var em = new EmailMessage() ; 

// Add as much EmailRecipient in it as you need using the following method. 
em.To.Add(new EmailRecipient("[email protected]")); 
em.Subject = "Your Subject..."; 
em.Body = "Your email body..."; 
// You can add an attachment that way. 
//em.Attachments.Add(new EmailAttachment(...); 

// Show the email composer. 
await EmailManager.ShowComposeNewEmailAsync(em); 

मुझे आशा है कि यह आपके (या अन्य डेवलपर्स) समस्या को हल करेगा।

सम्मान।

+1

विंडोज 8 स्टोर ऐप में बिल्कुल ठीक करने का कोई तरीका? – SandRock

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