C # [बंद] में इमैप एक्सेस करना


112

क्या C # में एक Imap सर्वर (SSL के साथ) का उपयोग करने के लिए एक अंतर्निहित विधि है या एक अच्छा मुफ्त पुस्तकालय है?



7
नहीं। आपके द्वारा पोस्ट किया गया लिंक IMAP से संबंधित है विशेष रूप से जीमेल के लिए। हालाँकि, यह पोस्ट नहीं है।

72
कृपया डुप्लिकेट के रूप में प्रश्नों को चिह्नित / चिह्नित करते समय अधिक सावधान रहें। मैं देखने का बीमार हूँ: अनुलिपित्र "वैसे भी पता करने के लिए, चाहे वह एक ही सवाल है चाहता है या नहीं" डुप्लिकेट [कड़ी] हर जगह समय अन्य लिंक जवाब देने के लिए क्या असफल का एक बहुत। "!
βӔḺṪẶⱫŌŔ

7
प्रश्न बंद हो गया है इसलिए मैं इसे उत्तर के रूप में नहीं जोड़ सकता: github.com/jstedfast/MailKit एक अच्छा विकल्प और एक सक्रिय परियोजना प्रतीत होती है।
रोरी

4
उपयोगी प्रश्नों को रचनात्मक नहीं के रूप में चिह्नित करना वास्तव में रचनात्मक नहीं है ...
रॉबर्ट जे।

जवाबों:


90

मैं अभी कुछ समय के लिए IMAP समाधान की खोज कर रहा हूं, और काफी कोशिश करने के बाद, मैं AE.Net.Mail के साथ जा रहा हूं ।

आप कोड टैब पर जाकर कोड डाउनलोड कर सकते हैं और छोटे 'डाउनलोड' आइकन पर क्लिक कर सकते हैं। जैसा कि लेखक कोई पूर्व-निर्मित डाउनलोड प्रदान नहीं करता है, आपको इसे स्वयं संकलित करना होगा। (मेरा मानना ​​है कि आप इसे NuGet के माध्यम से प्राप्त कर सकते हैं)। बिन / फ़ोल्डर में अब कोई dd नहीं है।

कोई दस्तावेज नहीं है, जिसे मैं नकारात्मक पक्ष मानता हूं, लेकिन मैं स्रोत कोड (ओपन सोर्स के लिए या!) को देखकर और इन्टेलिसेन्स का उपयोग करके इसे कोड़ा करने में सक्षम था। नीचे दिया गया कोड विशेष रूप से Gmail के IMAP सर्वर से जुड़ता है:

// Connect to the IMAP server. The 'true' parameter specifies to use SSL
// which is important (for Gmail at least)
ImapClient ic = new ImapClient("imap.gmail.com", "name@gmail.com", "pass",
                ImapClient.AuthMethods.Login, 993, true);
// Select a mailbox. Case-insensitive
ic.SelectMailbox("INBOX");
Console.WriteLine(ic.GetMessageCount());
// Get the first *11* messages. 0 is the first message;
// and it also includes the 10th message, which is really the eleventh ;)
// MailMessage represents, well, a message in your mailbox
MailMessage[] mm = ic.GetMessages(0, 10);
foreach (MailMessage m in mm)
{
    Console.WriteLine(m.Subject);
}
// Probably wiser to use a using statement
ic.Dispose();

सुनिश्चित करें कि आप नवीनतम संस्करण और कुछ बेहतर कोड उदाहरणों के लिए जीथब पृष्ठ की जांच करें ।


1
यह वास्तव में योग्य होने के लिए बहुत आसान लगता है। मैं इसे बाहर की जाँच करने वाला हूँ!
बेंड्र

4
@ जेजे - आप सही कह रहे हैं! मुझे यकीन नहीं है कि समस्या वास्तव में क्या है (गुण फ़ाइल की तरह प्रतीत होता है?) लेकिन मैं इसे सभी प्रासंगिक फ़ाइलों को एक नई कक्षा परियोजना में कॉपी करके संकलन करने में सक्षम था। जो भी हो, मैंने आपके लिए पुस्तकालयों का निर्माण किया और इसलिए आप उन्हें अपनी परियोजना के लिए .dll संदर्भ के रूप में जोड़ सकते हैं। dl.dropbox.com/u/8037514/AE.Net.Mail.zip केवल एक अस्वीकरण के रूप में, यह जो भी वारंटियों और कॉपीराइट के साथ आता है मूल परियोजना के साथ आता है, और मैं जिम्मेदार नहीं हूँ अगर यह ऊपर उड़ता है, आदि। भाग्य!
डोमिनिक के

4
+1 मैंने अभी हाल ही में VS2010 में AE.Net.Mail की नवीनतम प्रतिबद्धताओं को डाउनलोड किया और इसे पूरी तरह से काम किया। मैं ImapX के साथ की तुलना में बहुत बेहतर अनुभव था , टिप के लिए धन्यवाद। कोड यहाँ मुझे एक अच्छा तुरत प्रारम्भ दे दी है।
RedFilter

8
लोग इस तरह से महान चीजें क्यों लिखते हैं और मूल रूप से कोई प्रलेखन शामिल नहीं करते हैं? मुझे समझ में नहीं आया
सिमोन_वेअर

2
यह काम करता है लेकिन नए संस्करणों में निर्माणकर्ता को इस तरह दिखना चाहिए: ImapClient ic = new ImapClient ("imap.gmail.com", "name@gmail.com", "पास", AuthMethods.Login, 993, true);
ओग्लास

34

इस उम्मीद में कि यह कुछ के लिए उपयोगी होगा, आप इस पर मेरा जाना देखना चाहेंगे:

S22.Imap

जबकि .NET के लिए अच्छे और अच्छी तरह से प्रलेखित IMAP पुस्तकालयों के एक जोड़े उपलब्ध हैं, उनमें से कोई भी व्यक्तिगत के लिए स्वतंत्र नहीं है, अकेले व्यावसायिक उपयोग करते हैं ... और मैं बस उन सभी को छोड़ नहीं पाया था जो मुझे मिले ज्यादातर मुफ्त विकल्पों से संतुष्ट थे।

S22.Imap IMAP IDLE सूचनाओं के साथ-साथ SSL और आंशिक संदेश प्राप्त करने का समर्थन करता है। मैंने दस्तावेज़ीकरण के निर्माण में कुछ प्रयास किए हैं और इसे अद्यतित रखा है, क्योंकि जिन परियोजनाओं के साथ मैंने पाया था, दस्तावेज़ अक्सर विरल या अस्तित्वहीन थे।

बेझिझक इसे एक कोशिश दें और मुझे बताएं कि क्या आप किसी भी मुद्दे पर भागते हैं!


AE.Net.Mail को पहले आज़माया और पाया कि S22.Imap बेहतर है, दोनों दस्तावेज़ीकरण और उन विशेषताओं पर, जिनकी मुझे अब तक ज़रूरत है।
कोणीयसेन

मुझे S22.Imap की अवधारणा पसंद आई। लेकिन जो मुझे याद आ रहा है वह इंडेक्स या मैसेज नंबर के जरिए पहुंच रहा है।
तेजस्वी हेगड़े

S22.Imap के लिए 300 चीयर्स। वास्तविक दुनिया के परिदृश्यों में सरल कुशल और उपयोगी। .Search () i sbrilliant
रथ

मैं इस पुस्तकालय का उपयोग करके IMAP के साथ अपने मेलबॉक्स के लिए सिंक्रनाइज़ेशन कैसे रख सकता हूं?
जैकएक्सएंडर

1
लॉगिन करने का प्रयास करते समय "NO [WEBALERT some url] वेब लॉगिन आवश्यक" के संदेश के साथ मुझे InvalidCredentialsException क्यों मिलेगा कोई विचार? IMAP जीमेल खाते पर सक्षम है। विचार?
औरी रहीमजादेह

19

IMAP के लिए कोई .NET फ्रेमवर्क समर्थन नहीं है। आपको कुछ तृतीय पक्ष घटक का उपयोग करने की आवश्यकता होगी।

Https://www.limilabs.com/mail आज़माएं , यह बहुत सस्ती और उपयोग में आसान है, यह SSL का भी समर्थन करता है:

using(Imap imap = new Imap())
{
    imap.ConnectSSL("imap.company.com");
    imap.Login("user", "password");

    imap.SelectInbox();
    List<long> uids = imap.SearchFlag(Flag.Unseen);
    foreach (long uid in uids)
    {
        string eml = imap.GetMessageByUID(uid);
        IMail message = new MailBuilder()
            .CreateFromEml(eml);

        Console.WriteLine(message.Subject);
        Console.WriteLine(message.TextDataString);
    }
    imap.Close(true);
}

कृपया ध्यान दें कि यह एक व्यावसायिक उत्पाद है जिसे मैंने बनाया है।

आप इसे यहां से डाउनलोड कर सकते हैं: https://www.limilabs.com/mail


3
डाउनलोड किया गया और कुछ ही मिनटों में उठ गया और चल रहा था :) बहुत अच्छा
Moulde

क्या यह पासवर्ड पास करने के बजाय oAuth 2 का उपयोग करते हुए टोकन पास करने का समर्थन करता है?
user1166905

यह OAuth2 का समर्थन करता है: limilabs.com/blog/oauth2-gmail-imap-web-applications
Pawel Lesnikowski

2
महान घटक, एक आकर्षण की तरह काम करता है। कुछ हफ़्ते के लिए परीक्षण संस्करण (लगभग पूरी तरह कार्यात्मक) का परीक्षण किया और फिर लाइसेंस खरीदा।
एलेक्स

1
यह वास्तव में एक महान घटक है। हमारे द्वारा आज़माए गए सभी ओपन-सोर्स सामानों के विपरीत, यह वास्तव में जीवित है और अद्यतित है (मैं इसे 2016 में लिख रहा हूं)। साभार @PawelLesnikowski PS मैं किसी भी तरह से संबद्ध नहीं हूं।
jazzcat

15

MailSystem.NET में IMAP4 के लिए आपकी सभी जरूरतें हैं। यह मुफ़्त और खुला स्रोत है।

(मैं परियोजना में शामिल हूं)


2
परियोजना सक्रिय है ?? नवीनतम संस्करण दिनांकित: सोम दिसम्बर १४ २०० ९ को प्रातः ९: ०० बजे
किकेनेट

1
आज जोड़ने के लिए इतनी सुविधा नहीं है क्योंकि अधिकांश ज़रूरतें पहले से ही कवर हैं। जब वे सबमिट किए जाते हैं तो केवल बग सुधार और छोटे सुधार शुरू किए जाते हैं। लेकिन इतने सारे नहीं हैं, पुस्तकालय बहुत मजबूत है।

4
यह परियोजना मृत प्रतीत होती है। IMAP4 के साथ ठीक से काम नहीं करता है, कोई अपडेट नहीं है और लेखकों से कोई जवाब नहीं है
Denis Vuyka

6
@alhambraeidos और @Denis सही हैं। परियोजना व्यावहारिक रूप से मृत है। नमूनों का निर्माण नहीं होता है, बॉक्स से बाहर, वीएस 2008 या 2010 में। मैंने उन्हें उल्टा कर दिया और फिर उन्हें अन्य संदर्भ मुद्दों के माध्यम से उतारा। प्रलेखन पुराना है और पिछले वर्ष या उससे अधिक किसी भी मुद्दे / टिप्पणियों के लिए कोडप्लेक्स पेज असंसदीय है। मैंने हार मान ली और Mail.dll को खरीद लिया (नहीं, मैं उनके साथ संबद्ध नहीं हूं)।
sohtimsso1970

2
परियोजना काफी हद
ग्रेग डीन

5

पुस्तकालय का उपयोग करने की कोशिश करें: https://imapx.codeplex.com/

वह पुस्तकालय मुक्त, खुला स्रोत और इस पर उदाहरण है: https://imapx.codeplex.com/wikipage?title=Sample%20code%20for%20get%20messages%20from%20your%20yboxbox


FYI करें: imapx को IDLE का समर्थन नहीं लगता
ग्रेग डीन

ImapX के पास अब IDLE एक्सटेंशन के लिए समर्थन है।
पावेल अज़ानोव

मेरे अनुभव में यह लाइब्रेरी AE.Net.Mail की तुलना में महत्वपूर्ण धीमी है - जो कुछ भी समझ में नहीं आता है लेकिन चेतावनी दी है!
Simon_Weaver

1
इस लाइब्रेरी में प्रमुख बग (v2.0.0.18) हैं।
डेविड

2

मैंने इसे स्वयं आज़माया नहीं है, लेकिन यह एक निःशुल्क पुस्तकालय है जिसे आप आज़मा सकते हैं (मैं इस पर एसएसएल भाग के बारे में इतना निश्चित नहीं हूं):

http://www.codeproject.com/KB/IP/imaplibrary.aspx

इसके अलावा, वहाँ xemail है, जिसमें SSL के लिए पैरामीटर हैं:

http://xemail-net.sourceforge.net/

[संपादित करें] यदि आप (या ग्राहक) के पास पेशेवर मेल-क्लाइंट के लिए पैसा है, तो इस धागे में कुछ अच्छी सिफारिशें हैं:

किसी ई-मेल इनबॉक्स तक पहुँचने के लिए .NET घटक की अनुशंसाएँ


कोडप्रोजेक्ट में Imaplibrary मैं क्या उपयोग कर रहा था, लेकिन इसमें आवश्यक कार्यक्षमता नहीं है बीमार चेकआउट xemail
UnkwnTech

stackoverflow.com/questions/86553/… ,, मुझे यह त्रुटि मिलती है: पृष्ठ नहीं मिला
Kiquenet

मैंने लिंक बदल दिया है, मुझे बताने के लिए धन्यवाद।
एस्पो

REE: codeproject.com/KB/IP/imaplibrary.aspx अपने उत्तर में; यह बहुत अच्छा है। ईमेल क्लाइंट के लिए पिछले सप्ताह से इसका उपयोग कर रहे हैं और इसके साथ कोई समस्या नहीं है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.