मार्क जीमेल जब अधिसूचना से संग्रह के रूप में पढ़ा


10

जीमेल ऐप का सबसे हालिया संस्करण महान सुविधा के रूप में जहां आप सूचना से सीधे ई-मेल पर संग्रह या उत्तर देने के बीच चयन कर सकते हैं।

मेरी समस्या यह है कि यदि आप इसे अधिसूचना से संग्रहीत करते हैं, तो यह अपठित रहता है (पढ़ने के रूप में चिह्नित होने के बजाय)। वहाँ वैसे भी है कि चारों ओर पाने के लिए है?

मैं किसी भी ई-मेल के लिए चाहूंगा जो सीधे अधिसूचना से संग्रहीत किया जाता है स्वचालित रूप से पढ़ने के रूप में चिह्नित किया जाएगा।


1
मुझे विश्वास नहीं होता कि वर्तमान में यह संभव है। एकमात्र क्रिया जिसे आप इसे बदल सकते हैं वह है संग्रह के बजाय हटाना।
ऐले

@AlEverett मैं उम्मीद कर रहा था कि एक वैकल्पिक ऐप या कम से कम एक Google स्क्रिप्ट के साथ ऐसा करने का तरीका हो सकता है। = /
मालाबार

जवाबों:


5

क्या आपने Google स्क्रिप्ट कहा है?

जीमेल को मार्क स्क्रिप्ट के साथ पढ़ना

इस स्क्रिप्ट के पीछे विचार यह है कि किसी भी संदेश को पढ़ा जाए जो इनबॉक्स में नहीं है (यानी, संग्रहीत किया गया है)।

  1. एक स्क्रिप्ट शुरू करने के लिए script.google.com पर जाएं।
  2. थोड़ा पॉपअप में जीमेल के लिए एक स्क्रिप्ट बनाने के लिए चुनें।
  3. आपके द्वारा दिए गए सभी नमूना कोड को हटा दें।
  4. इसे इसके साथ बदलें ( एपीआई संदर्भ का उपयोग करके लिखा गया है ):

    फ़ंक्शन चिह्न
       var थ्रेड = GmailApp.search ('लेबल: अपठित-लैबल: इनबॉक्स');
       GmailApp.markThreadsRead (धागे);
     };
  5. फ़ाइल के साथ प्रोजेक्ट सहेजें> सहेजें।

  6. फ़ाइल> प्रबंधित संस्करण का उपयोग करके एक नया संस्करण जोड़ें और "प्रारंभिक संस्करण" दर्ज करें और फिर उसे सबमिट करें।
  7. Run> markArchivedAsRead का उपयोग करके एक परीक्षण चलाएं और जब यह आपसे पूछता है तो सुनिश्चित करें और एप्लिकेशन को अधिकृत करें।
  8. संसाधन> वर्तमान परियोजना के ट्रिगर का उपयोग करके एक नया ट्रिगर जोड़ें और उपरोक्त फ़ंक्शन को हर मिनट चलाने के लिए चुनें।
  9. स्क्रिप्ट को फिर से सहेजें और बाहर निकलें।

मैं नहीं जानता कि इसे हर मिनट चलाना आवश्यक है , लेकिन जब तक आप इसे नियमित रूप से चलाते हैं।

यह आपके मुद्दे का सीधा जवाब नहीं है, और यदि आपके पास अपठित संदेशों के कारण हैं जो आपके इनबॉक्स में नहीं हैं तो यह आपके लिए काम नहीं करेगा।


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

2
यह भी एक मामूली बग है। यदि आप किसी संदेश को संग्रहीत करते हैं और स्क्रिप्ट के चलने का मौका होने से पहले एक नया संदेश उसी थ्रेड पर आता है, तो स्क्रिप्ट के चलने पर दोनों को पढ़े गए के रूप में चिह्नित किया जाएगा। ऐसा इसलिए है क्योंकि GmailApp.search पूरे थ्रेड को लौटाता है, और यदि थ्रेड में एक संदेश इनबॉक्स में था, तो इसकी परवाह नहीं करता है।
मालाबार

3

मैंने निम्न Google स्क्रिप्ट के साथ इसे बनाने में कामयाबी हासिल की ।
यह AlEverett के उत्तर के समान ही है, लेकिन यह उन संदेशों को पढ़ने के रूप में चिह्नित नहीं करता है जो इनबॉक्स को पूरी तरह से छोड़ देता है (फ़िल्टर या कुछ से)।

दुर्भाग्य से, यह आपके लिए काम नहीं करेगा यदि आप संग्रह संदेशों को बहुत जल्दी (कम से कम 30 सेकंड औसत) करते हैं।

/** Mark as read archived threads which were previously in the inbox (determined by the label "i"). **/
function cleanAndroidArchived(){
  markArchivedAsRead();
  labelInboxAsI();
}

function markArchivedAsRead() {
  var threads = GmailApp.search('in:unread label:i -label:inbox');
  var label = GmailApp.createLabel("i");
  label.removeFromThreads(threads);
  GmailApp.markThreadsRead(threads);
};

function labelInboxAsI() {
  var threads = GmailApp.search('in:unread label:inbox');
  var label = GmailApp.createLabel("i");
  label.addToThreads(threads);
};

2

मेरा मानना ​​है कि मैंने @ ब्रूसकॉन्सर के मामले के साथ समस्या को हल किया, इससे पहले कि यह काम कर सके, स्क्रिप्ट को निष्पादित करने के लिए प्रतीक्षा करने की आवश्यकता है।

  1. मैंने एक नया फ़िल्टर बनाया है जो इनबॉक्स में कुछ भी देखता है
  2. "i" लेबल असाइन करता है (जो उसके संस्करण द्वारा बनाया गया है)

जीमेल की शिकायत है कि फ़िल्टर कभी भी मेल नहीं खाएगा, लेकिन इस मामले में यह सभी आने वाले संदेशों से मेल खाता है जो इनबॉक्स में रहते हैं।

परिणाम यह है कि सभी नए आने वाले संदेश इस टैग द्वारा स्वचालित रूप से "याद" किए जाते हैं, फिर जब आप संग्रह को हिट करते हैं तो स्क्रिप्ट इनबॉक्स सूची की "i" लेबल के साथ तुलना कर सकती है और जान सकती है कि कौन से संग्रहित किए गए थे, और फिर केवल उन के रूप में चिह्नित करें " पढ़ें "। आपको संग्रह करने के लिए प्रतीक्षा करने की आवश्यकता नहीं है, क्योंकि सभी संदेशों को "i" कतार में संग्रहित किया गया है।

बोनस: मैंने नया "i" लेबल "संदेश सूची में छिपाएँ" और "लेबल सूची में छिपाएँ" भी सेट किया है, इसलिए यह कभी भी दिखाई नहीं देता है। (नए "i" लेबल के बगल में स्थित छोटे तीर पर क्लिक करें और इन विकल्पों को चुनें।)


1

@ अल-ए का जवाब काम करता है, लेकिन इसमें टिप्पणियों में उल्लिखित थोड़ा बग है। मैंने स्क्रिप्ट का एक अलग संस्करण बनाया है जो इस बग को हल करता है और कुछ वर्षों से सफलतापूर्वक इसका उपयोग कर रहा है। यहां वह स्क्रिप्ट है जो मैं उपयोग कर रहा हूं:

function markArchivedAsRead() {
  var threads = GmailApp.search('label:unread -label:inbox');
  for (var i=0; i<threads.length; i++)
  {
    var messages = threads[i].getMessages();
    var markUnread = 1;
    for (var j=0; j<messages.length; j++)
    {
      if (messages[j].isInInbox())
        markUnread = 0;
    }
    if (markUnread)
      threads[i].markRead();
  }
};
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.