मैं हर किसी के लिए ई-मेल पते वाली सूची कैसे निर्यात कर सकता हूं जिसने मुझे ई-मेल भेजा है? मेरे पास सभी संदेश संग्रहीत हैं।
मैं हर किसी के लिए ई-मेल पते वाली सूची कैसे निर्यात कर सकता हूं जिसने मुझे ई-मेल भेजा है? मेरे पास सभी संदेश संग्रहीत हैं।
जवाबों:
मैं कुछ अतिरिक्त उपकरणों को लागू करने वाले सभी जटिल उत्तरों से काफी हैरान हूं! आपके द्वारा प्राप्त प्रत्येक ईमेल का पता जीमेल के संपर्क भाग में "सभी संपर्कों" ("मेरे संपर्क" के विपरीत) में जोड़ा गया है। निर्यात करें कि एक और आप कर रहे हैं (या मैं आपके प्रश्न में कुछ याद किया)।
यह वह जगह है जहां 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
।
नोट: स्क्रिप्ट को निष्पादित होने में कुछ समय लग सकता है, जो निश्चित रूप से, ई-मेल की संख्या पर निर्भर है
अपडेट 2017
स्टारबाना ने अपना नाम डीप-ईमेल-एक्सट्रैक्टर में बदल दिया है और यह भी ऐसा लगता है कि ऐप यूआई को फिर से चालू किया और इसे कई खातों पर काम किया (पता चला कि बस मेरे ऐप में लॉग इन किया गया है), इसको प्रतिबिंबित करने के लिए नीचे दिए गए लिंक को बदल दिया।
मूल उत्तर
अगर आपको तेज़ डेस्कटॉप ऐप (स्क्रिप्ट नहीं) की ज़रूरत है तो इस पर विचार करें।
मैंने एक ऐप के लिए काफी खोज की थी जो लेबल स्तर पर काम करता है और गहरे ईमेल-चिमटा से जीमेल ईमेल एक्सपोर्टर मिला ।
यह एक पेड ऐप है (मुझे उनसे कोई लेना-देना नहीं है) लेकिन यह सस्ता है और आपको विशिष्ट लेबल या आपके सभी जीमेल खाते से ईमेल पते निर्यात करने को मिलते हैं।
तो आपके मामले में एक फिल्टर का उपयोग करके अपने सभी ईमेल को एक लेबल में डाल दिया और एक सीएसवी फ़ाइल को निर्यात करने के लिए ऊपर का उपयोग करें।
@ जकोब-जान-तिनस्ट्रा के उत्तर के आधार पर। मेरी आवश्यकताओं के अनुरूप कुछ छोटे-छोटे संशोधन किए, शायद दूसरों को यह उपयोगी लगे।
खोज का उपयोग करता है, लेबल से टूटता नहीं है और बड़े इनबॉक्स के लिए भी काम करता है।
वह भाग जो कहता है कि 'आपका 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);
}
निम्नलिखित एप्लिकेशन स्वतंत्र है और खूबसूरती से काम करता है!
http://www.labnol.org/internet/extract-gmail-addresses/28037/
नीचे दिए गए चरण को चरण दर चरण आज़माएं, और 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. अपनी मूल स्प्रेडशीट की जांच करें और इसमें ईमेल होंगे।
;
या के साथ प्रतिस्थापित करना ,
।ऐसा करने का एकमात्र तरीका है
नोट: यदि आप चरण 1 के लिए imapsize (फ्री) का उपयोग करते हैं, तो बैकअप को "% FROM - ईमेल के प्रेषक" के रूप में सहेजें और आप उन्हें अपनी निर्देशिका में सादे दृष्टि में रखते हैं।
मैंने मैक यूजर्स के लिए मैक मेल और एड्रेस बुक के जरिए अतिरिक्त सॉफ्टवेयर डाउनलोड करने की जरूरत के बिना ऐसा करने का तरीका निकाला। यह मैक मेल 4.6 और एड्रेस बुक 5.0.3 के साथ काम करता है। सुनिश्चित नहीं है कि यह अन्य वर्स के लिए काम करता है या नहीं। यह थंडरबर्ड जैसे अन्य IMAP ईमेल कार्यक्रमों के लिए समान रूप से काम कर सकता है, लेकिन मैं इसके लिए वाउच नहीं कर सकता।
यहाँ कदम हैं:
उम्मीद है की यह मदद करेगा! यह थोड़ा बोझिल है, लेकिन मेरे लिए काम करता है और आप इसे एक-दो बार करने के बाद बहुत आसान है।
MineMyMail आपके सभी संदेशों को IMAP के माध्यम से लाती है और फिर उसमें से ईमेल पते निकालती है।
आप "भेजे गए मेल" फ़ोल्डर / लेबल का चयन करके यह खोज कर सकते हैं कि कौन सा फ़ोल्डर है।
IMAP एड्रेस एक्सपोर्टर एक मैक ऐप है जो किसी भी IMAP ईमेल अकाउंट से जुड़ता है और हर प्रेषक के पते को निकालता है, वह भी पहले से निर्धारित फोल्डर / लेबल से। सभी निष्पक्षता में, मुझे यह उजागर करना होगा कि यह मेरी कंपनी द्वारा विकसित किया गया है।