प्राप्त जीमेल संदेशों से ई-मेल पते प्राप्त करें


33

मैं हर किसी के लिए ई-मेल पते वाली सूची कैसे निर्यात कर सकता हूं जिसने मुझे ई-मेल भेजा है? मेरे पास सभी संदेश संग्रहीत हैं।


deep-email-extractor.com आपका मित्र है। के लिए भुगतान किया, लेकिन सुरक्षित, सुरक्षित और दो कदम पासवर्ड का उपयोग करता है। मैंने इसे कुछ साल पहले खरीदा था और अभी भी इसका उपयोग करता हूं, काफी आसान है
टीनो म्लेकरन

मैं अभी तक एक उत्तर (पर्याप्त प्रतिनिधि नहीं) पोस्ट नहीं कर सकता, लेकिन पायथन में यहाँ जेरी न्यूमैन का जवाब अद्भुत काम करता है!
बसज

जवाबों:


13

मैं कुछ अतिरिक्त उपकरणों को लागू करने वाले सभी जटिल उत्तरों से काफी हैरान हूं! आपके द्वारा प्राप्त प्रत्येक ईमेल का पता जीमेल के संपर्क भाग में "सभी संपर्कों" ("मेरे संपर्क" के विपरीत) में जोड़ा गया है। निर्यात करें कि एक और आप कर रहे हैं (या मैं आपके प्रश्न में कुछ याद किया)।


यह बहुत अच्छा काम करेगा, यह मानते हुए कि संदेशों का एक सरल संग्रह के बजाय उस व्यक्ति के पास अभी भी जीमेल खाते तक पहुंच है। अच्छा समाधान!
ब्रैड

हाँ सहमत हैं, लेकिन अर्क उपकरणों पर संपर्कों का उपयोग करने के लिए एक चेतावनी है, आपने अपने संपर्कों के साथ खिलवाड़ किया हो सकता है, हम में से बहुत से लोग ऐसा करते हैं जब हम ओपी को सुझाव देते हैं कि उनके संदेशों को संग्रहीत किया जाए। इस बिंदु पर अब आप सुनिश्चित नहीं हैं कि क्या आपके पास अपने सभी ईमेल पते हैं? मैं इस स्थिति में था और सभी उत्तरों को देख रहा था, यहाँ स्टारबाना एक बहुत ही सरल और भरोसेमंद था (यह दो चरण का उपयोग करता है और ऐप विशिष्ट पासवर्ड का उपयोग करता है) और मेरे पीसी से एक सीधा संबंध जीमेल के लिए है, इसलिए बीच में कोई आदमी नहीं सुन रहा है ।
टिनो मैक्लेरेन

2
यह केवल तभी सत्य है जब आपके पास वह सेटिंग चालू हो। जबकि यह डिफ़ॉल्ट है, आप इसे आसानी से बंद कर सकते हैं। देखें: संपर्कों को स्वचालित रूप से बनाने से Gmail को रोकें
ale

28

यह वह जगह है जहां Google Apps स्क्रिप्ट की शक्ति अंदर आती है। यदि आप एक नई Google स्प्रेडशीट में निम्नलिखित स्क्रिप्ट पेस्ट करते हैं (उपकरण, स्क्रिप्ट संपादक, स्क्रिप्ट को प्रमाणित करने के लिए बग आइकन दबाएं), तो संख्या के आधार पर नई शीट स्वचालित रूप से बनाई जाएंगी के लेबल मौजूद हैं। उसके बाद, ई-मेल पते जोड़े जाएंगे।

function getEmails() {
  // set spreadsheet and retrieve labels
  var ss = SpreadsheetApp.getActiveSpreadsheet();  
  var labels = GmailApp.getUserLabels(), emptyLabels = [];

  // itterate through the labels
  for (var i=0; i<labels.length; i++) {

    try {
      // create sheets and clear content
      var sh = ss.getSheetByName(labels[i].getName()) || 
      ss.insertSheet(labels[i].getName(), ss.getSheets().length);
      sh.clear();

      // get all messages
      var eMails = GmailApp.getMessagesForThreads(
        GmailApp.search("label:" + labels[i].getName()))
          .reduce(function(a, b) {return a.concat(b);})
          .map(function(eMails) {
        return eMails.getFrom() 
      });

      // sort and filter for unique entries  
      var aEmails = eMails.sort().filter(function(el,j,a)
        {if(j==a.indexOf(el))return 1;return 0});  

      // create 2D-array
      var aUnique = new Array();  
      for(var k in aEmails) {
        aUnique.push([aEmails[k]]);
      }

      // add data to corresponding sheet
      sh.getRange(1, 1, aUnique.length, 1).setValues(aUnique);
    } catch (e) {
      emptyLabels.push(labels[i].getName());
    }
   }
   ss.toast("These sheets are empty: " + emptyLabels);
}

SPLITडुप्लिकेट खोजने के लिए नाम निकालने के लिए फ़ंक्शन का उपयोग करें । सिस्टम फ़ोल्डर्स को अनदेखा किया जाता है, जैसे INBOXया All Items

नोट: स्क्रिप्ट को निष्पादित होने में कुछ समय लग सकता है, जो निश्चित रूप से, ई-मेल की संख्या पर निर्भर है


@ MG1 ने स्क्रिप्ट की जाँच की और यह खाली लेबल पर विफल है। संशोधित कोड ताकि खाली लेबल का उल्लेख करते हुए एक संदेश दिखाई दे।
जैकब जान टुंस्ट्रा

7

अपडेट 2017

स्टारबाना ने अपना नाम डीप-ईमेल-एक्सट्रैक्टर में बदल दिया है और यह भी ऐसा लगता है कि ऐप यूआई को फिर से चालू किया और इसे कई खातों पर काम किया (पता चला कि बस मेरे ऐप में लॉग इन किया गया है), इसको प्रतिबिंबित करने के लिए नीचे दिए गए लिंक को बदल दिया।

मूल उत्तर

अगर आपको तेज़ डेस्कटॉप ऐप (स्क्रिप्ट नहीं) की ज़रूरत है तो इस पर विचार करें।

मैंने एक ऐप के लिए काफी खोज की थी जो लेबल स्तर पर काम करता है और गहरे ईमेल-चिमटा से जीमेल ईमेल एक्सपोर्टर मिला ।

यह एक पेड ऐप है (मुझे उनसे कोई लेना-देना नहीं है) लेकिन यह सस्ता है और आपको विशिष्ट लेबल या आपके सभी जीमेल खाते से ईमेल पते निर्यात करने को मिलते हैं।

तो आपके मामले में एक फिल्टर का उपयोग करके अपने सभी ईमेल को एक लेबल में डाल दिया और एक सीएसवी फ़ाइल को निर्यात करने के लिए ऊपर का उपयोग करें।


1
मैक उपयोगकर्ताओं के लिए एक सस्ता विकल्प ईमेल संपर्क चिमटा ( itunes.apple.com/us/app/email-contacts-extractor/… ) है। पूर्ण-प्रकटीकरण: मैंने इसे स्वयं विकसित किया क्योंकि मुझे लगा कि मेरे ईमेल पर अन्य ऑफ़र बहुत महंगे थे या ऑनलाइन एक्सेस की आवश्यकता थी।
hpique

यदि आप 20 पतों या उससे कम के लिए एक संस्करण कर सकते हैं तो यह बहुत बढ़िया होगा, जैसे वे करते हैं।
दान रोसेनस्टार्क

starbanana.com अब शरीर से ईमेल भी निकालता है, मैंने अभी-अभी इसकी कोशिश की और मल्टी-थ्रेडिंग भी (एक ही समय में 15 लेबल करता है) अविश्वसनीय रूप से तेजी से प्रभावित हुआ।
टीनो म्लेकारेन

6

@ जकोब-जान-तिनस्ट्रा के उत्तर के आधार पर। मेरी आवश्यकताओं के अनुरूप कुछ छोटे-छोटे संशोधन किए, शायद दूसरों को यह उपयोगी लगे।

खोज का उपयोग करता है, लेबल से टूटता नहीं है और बड़े इनबॉक्स के लिए भी काम करता है।

वह भाग जो कहता है कि 'आपका GMAIL SEARCH QUERY GOES HERE' आपके द्वारा इनबॉक्स में उपयोग की जाने वाली किसी भी क्वेरी से भरा जा सकता है।

function getEmails() {
  // set spreadsheet and retrieve labels
  var query = 'YOUR GMAIL SEARCH QUERY GOES HERE',
    ss = SpreadsheetApp.getActiveSpreadsheet(),
    sh = ss.getSheetByName(query) || ss.insertSheet(query, ss.getSheets().length),
    uniqueEmails = {},
    errors = [],
    // max chunk size
    chunkSize = 500,
    currentChunk = 0,
    threads,
    messages,
    i,
    j,
    k,
    msg,
    tos;
  sh.clear();
  while (currentChunk === 0 || threads.length === chunkSize) {
    try {
      // grab threads that match the query one chunk at a time
      threads = GmailApp.search(query, chunkSize * currentChunk, chunkSize);
      // grab corresponding messages from the threads
      messages = GmailApp.getMessagesForThreads(threads);
      for (i = 0; i < messages.length; i++) {
        msg = messages[i];
        for (j = 0; j < msg.length; j++) {
          // get the from
          uniqueEmails[msg[j].getFrom()] = true;
          // get the reply to
          uniqueEmails[msg[j].getReplyTo()] = true;
          // grab from the to field as well
          // this has a bug for people with commas in their names
          // tos = msg[j].getTo().split(',');
          // for (k = 0; k < tos.length; k++) {
          //  uniqueEmails[tos[k]] = true;
          // }
        }
      }
      currentChunk += 1;
    } catch (e) {
      errors.push(e);
    }
  }
  // create 2D-array
  var aUnique = [];
  for (k in uniqueEmails) {
    aUnique.push([k]);
  }

  // add data to corresponding sheet
  sh.getRange(1, 1, aUnique.length, 1).setValues(aUnique);
}

आपकी सफाई मेरे लिए पूरी तरह से काम करती है, धन्यवाद! क्या आप ईमेल की बॉडी से ईमेल पतों को पुनः प्राप्त करने का विकल्प जोड़ सकते हैं, बहुत सराहा गया है। धन्यवाद।

5

निम्नलिखित एप्लिकेशन स्वतंत्र है और खूबसूरती से काम करता है!

http://www.labnol.org/internet/extract-gmail-addresses/28037/


एक और शानदार उपयोगिता। लेकिन मैं अभी तक यह कोशिश कर रहा हूं।
Moiz Tankiwala

1
मैं कभी भी किसी 'ऑन-लाइन ऐप' पर भरोसा नहीं करूंगा, इतने सारे घोटाले वहां स्टीलिंग संयुक्त राष्ट्र / पाकिस्तान और आपके सभी ईमेल पतों पर किए गए हैं। इंस्टॉल किए गए ऐप के साथ जाएं - HTTPS कनेक्शन।
टीनो म्लेकरन

मैं मानता हूं कि आपको सतर्क रहने की जरूरत है लेकिन लैबनोल के पीछे वाला लड़का एक अच्छा लड़का है जिसने वास्तव में उपयोगी सामान का एक टन प्रकाशित किया है। आपको इस पर विश्वास नहीं है, लेकिन एक छोटे से तकनीकी कर रहे हैं तो आप हमेशा जाने के लिए और src कोड जिसमें उन्होंने उस लेख से के लिए लिंक प्राप्त कर सकते हैं, और अपने खुद के रोल: ctrlq.org/code/...
RedYeti

5

कन्फ्यूज्ड / नॉन-टेक्निकल / नो आइडिया क्या करना है?

नीचे दिए गए चरण को चरण दर चरण आज़माएं, और https://webapps.stackexchange.com/a/47930/6329 पर धन्यवाद

चरण 1. drive.google.com

चरण 2. नई स्प्रेडशीट

चरण 3. उपकरण> स्क्रिप्ट संपादक

चरण 4. परिचय को बंद करें बटन के साथ पॉप अप करें

चरण 5. कोड में पेस्ट करें

function getEmails() { 
  // http://stackoverflow.com/a/12029701/1536038  
  // get all messages      
  var eMails = GmailApp.getMessagesForThreads(
    GmailApp.search('after:2012/1/14 before:2013/8/15'))
      .reduce(function(a, b) {return a.concat(b);})
      .map(function(eMails) {
    return eMails.getFrom() 
  });

  // sort and filter for unique entries  
  var aEmails = eMails.sort().filter(function(el,j,a)
    {if(j==a.indexOf(el))return 1;return 0});  

  // create 2D-array
  var aUnique = new Array();  
  for(var k in aEmails) {
    aUnique.push([aEmails[k]]);
  }

  // add data to sheet
  SpreadsheetApp.getActiveSheet().getRange(1, 1, aUnique.length, 1)
    .setValues(aUnique);
} 

चरण 6. पहली पंक्ति में "getEmails" शब्द के भीतर अपना कर्सर रखें

चरण 7. मेनू पट्टी में ऊपर दिए गए प्ले त्रिकोण बटन पर क्लिक करें

चरण 8. यह आपको प्रमाणित करने के लिए कहता है, ऐसा करें

चरण 9. प्ले बटन पर फिर से क्लिक करें यदि यह पहले से ही नहीं चला है

चरण 10. अपनी मूल स्प्रेडशीट की जांच करें और इसमें ईमेल होंगे।


4
  1. सूची पर नेविगेट करें। चेकबॉक्स विकल्प ड्रॉपडाउन चुनें, और सभी का चयन करें।
  2. [शीर्ष पर आपको अपनी सूची में सभी वार्तालापों को चुनने के लिए एक हाइपरलिंक विकल्प मिलेगा। इसे क्लिक करें।] अपडेट: यह चरण काम नहीं करता है, यह केवल आपको एक बार में 25 करने देगा, बम्मर!
  3. फिर मोर ड्रॉपडाउन के तहत जाएं और इन जैसे फिल्टर संदेश चुनें।
  4. फ़िल्टर संवाद में, टेक्स्ट बॉक्स से प्रकाश डाला जाएगा। ये सभी पतों से हैं।
  5. इसे कॉपी करें।
  6. इसे HTML संपादक में नोटपैड ++ या विजुअल स्टूडियो की तरह पेस्ट करें।
  7. अब आपको बस एक खोज करने की आवश्यकता है या शब्द को प्रतिस्थापित करना, ;या के साथ प्रतिस्थापित करना ,
  8. सूची को पुनः चस्पा करें और अपने संदेश में पेस्ट करें।

उत्तर देने के लिए बेहतर है। इसके पीछे की कहानी की कोई जरूरत नहीं। :-)
योसी मोर

4

ऐसा करने का एकमात्र तरीका है

  1. सभी .txt के रूप में निर्यात करें (देखें: पाठ या HTML फ़ाइलों को Gmail संदेश निर्यात करें )
  2. यह सब के माध्यम से लूप और एक अलग डेटाबेस में "से:" लाइनों।

नोट: यदि आप चरण 1 के लिए imapsize (फ्री) का उपयोग करते हैं, तो बैकअप को "% FROM - ईमेल के प्रेषक" के रूप में सहेजें और आप उन्हें अपनी निर्देशिका में सादे दृष्टि में रखते हैं।


मुझे उससे डर है। हालांकि धन्यवाद!
ब्रैड

1

मैंने मैक यूजर्स के लिए मैक मेल और एड्रेस बुक के जरिए अतिरिक्त सॉफ्टवेयर डाउनलोड करने की जरूरत के बिना ऐसा करने का तरीका निकाला। यह मैक मेल 4.6 और एड्रेस बुक 5.0.3 के साथ काम करता है। सुनिश्चित नहीं है कि यह अन्य वर्स के लिए काम करता है या नहीं। यह थंडरबर्ड जैसे अन्य IMAP ईमेल कार्यक्रमों के लिए समान रूप से काम कर सकता है, लेकिन मैं इसके लिए वाउच नहीं कर सकता।

यहाँ कदम हैं:

  1. मैक मेल में अपना जीमेल अकाउंट सेट करें। सुनिश्चित करें कि आने वाला मेल सर्वर "imap.gmail.com" है, आप इसे टूलबार> मेल> वरीयताएँ> खातों के तहत पा सकते हैं।
  2. जीमेल में, उन ईमेल के लिए एक लेबल बनाएं, जिसके लिए आप ईमेल पते निकालना चाहते हैं।
  3. जीमेल में, ऊपर दिए गए लेबल के अनुसार आप सभी ईमेल को लेबल करें।
  4. जीमेल में, सेटिंग्स> लेबल पर जाएं और आपके द्वारा बनाए गए नए लेबल के लिए बॉक्स पर टिक करें, जो कहता है कि "IMAP में दिखाएं।"
  5. मैक मेल को पुनरारंभ करें ताकि नया जीमेल लेबल सिंक हो जाए।
  6. पता पुस्तिका खोलें। यदि आप अपने संपर्कों के लिए पता पुस्तिका का उपयोग करते हैं, तो आपको अपने संपर्कों का बैकअप लेना होगा क्योंकि आपको पता पुस्तिका में सभी संपर्कों को हटाने की आवश्यकता है। मेरा मानना ​​है कि आप फ़ाइल> निर्यात> एड्रेस बुक आर्काइव के साथ कर सकते हैं। मैं जीमेल ईमेल निर्यात करने के अलावा एड्रेस बुक का उपयोग नहीं करता, इसलिए मैं इस पर अच्छी सलाह नहीं दे सकता। अपने जोखिम पर पता पुस्तिका संपर्क हटाएं।
  7. पता पुस्तिका में, अपने सभी संपर्कों को हटा दें। आपको एक संपर्क का चयन करके, कमांड + ए दबाकर और डिलीट कुंजी दबाकर ऐसा करने में सक्षम होना चाहिए।
  8. मैक मेल में, अपना IMAP फ़ोल्डर खोजें। आपके सभी मेलबॉक्स के साथ विंडो के बाईं ओर एक कॉलम होना चाहिए। यदि शीर्ष टूलबार पर नहीं जाते हैं, तो देखें> मेलबॉक्स दिखाएं या कमांड + शिफ्ट + एम दबाएं। आईएमएपी फ़ोल्डर "रिमाइंडर", "आरएसएस", "ऑन माई मैक" आदि से नीचे के कॉलम की ओर होगा। आपको अपने जीमेल खाते का नाम देखना चाहिए जिसे आपने पहले बाईं ओर एक ड्रॉपडाउन तीर के साथ स्थापित किया था।
  9. मैक मेल में, अपने मेलबॉक्स के आगे ड्रॉपडाउन तीर पर क्लिक करें। यह आपको फ़ोल्डरों की एक सूची दिखाएगा और जीमेल में आपके द्वारा बनाए गए लेबल को एक फ़ोल्डर के रूप में दिखाना चाहिए। इस फ़ोल्डर को क्लिक करके चुनें।
  10. संदेश विंडो में मैक मेल में, जो अब आपको जीमेल लेबल के लिए अपने सभी ईमेल प्रदर्शित करना चाहिए), सूची के सभी ईमेल का चयन करें। शीर्ष टूलबार पर जाएं, संदेश का चयन करें> पता पुस्तिका या प्रेस करने के लिए प्रेषक जोड़ें Shift+ Command+ Y। आपके Gmail लेबल के सभी प्रेषक अब पता पुस्तिका में होने चाहिए।
  11. पता पुस्तिका में अब आप vCards के रूप में संपर्क निर्यात कर सकते हैं जो कि टूलबार में जाकर और फ़ाइल> निर्यात> निर्यात vCards का चयन करके आप जो भी प्रोग्राम पसंद करते हैं उसका उपयोग कर सकते हैं। आप Google संपर्क में वापस आयात भी कर सकते हैं। यदि आपको CSV फ़ाइल की आवश्यकता है, तो दुर्भाग्यवश आपको vCards को किसी अन्य प्रोग्राम (Google संपर्क कार्य) में आयात करना होगा और पुनः निर्यात करना होगा क्योंकि आप CSV को Mac मेल से निर्यात नहीं कर सकते।

उम्मीद है की यह मदद करेगा! यह थोड़ा बोझिल है, लेकिन मेरे लिए काम करता है और आप इसे एक-दो बार करने के बाद बहुत आसान है।


0

MineMyMail आपके सभी संदेशों को IMAP के माध्यम से लाती है और फिर उसमें से ईमेल पते निकालती है।

आप "भेजे गए मेल" फ़ोल्डर / लेबल का चयन करके यह खोज कर सकते हैं कि कौन सा फ़ोल्डर है।


क्या मेरा मायमेल भरोसेमंद है? मैं उनकी साइट पर गया और क्रोम ने मुझे चेतावनी दी कि प्रमाणपत्र समाप्त हो गया है। उचित HTTPS प्रमाणपत्र न होना और उपयोगकर्ताओं को अपने Gmail उपयोगकर्ता नाम और पासवर्ड दर्ज करने के लिए कहना निश्चित रूप से डरावना है। इससे मुझे संदेह होता है कि साइट ईमेल निकाल सकती है और इसका उपयोग अपने स्पैमिंग या अन्य स्पैमर्स को बेचने के लिए कर सकती है।
मोइज टंकीवाला

0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.