أتمتة Gmail: ثمان برامج نصية مفيدة من Google لأتمتة Gmail
Gmail ، في حد ذاته ، هو بالفعل عميل بريد إلكتروني قوي للغاية. بمساعدة المرشحات ، يمكنك إعداد الأتمتة لتنظيم صندوق الوارد الخاص بك بشكل أفضل. ومع ذلك ، بالنسبة لمستخدمي الطاقة ، فإن ميزة التصفية ليست كافية مقارنة بكتابة البرامج النصية المخصصة. يمكن لنصوص Google الثمانية هذه أتمتة Gmail الخاص بك.
نصيحة: جرب نصيحة Gmail سهلة أخرى: قم بإعداد إعادة التوجيه التلقائي في Gmail.
1. حذف تلقائي للبريد الإلكتروني بعد X عدد من الأيام
في كثير من الأحيان بعد قراءة البريد الإلكتروني ، نحتفظ بها في صندوق الوارد لدينا بغض النظر عن مدى فائدتها. الآن بعد أن وضعت Google حدًا للمساحة ، قد ترغب في تنظيف صندوق الوارد الخاص بك والتخلص من رسائل البريد الإلكتروني غير المجدية هذه. يمكن للبرنامج النصي التالي التحقق من البريد الإلكتروني الذي يحمل التصنيف “Delete Me” وحذفها بعد عدد “X” من الأيام.
- تأكد من تسجيل الدخول إلى حسابك في Google ، وانتقل إلى Google Scripts وأنشئ مشروعًا جديدًا.
- الصق البرنامج النصي التالي واحفظه. يمكنك تغيير عدد الأيام (التأخير المتغير) التي تمر قبل أن تحذف رسائل البريد الإلكتروني من صندوق الوارد الخاص بك.
function auto_delete_mails() { var label = GmailApp.getUserLabelByName("Delete Me"); if(label == null) { GmailApp.createLabel('Delete Me'); } else { var delayDays = 2; // Enter # of days before messages are moved to trash var maxDate = new Date(); maxDate.setDate(maxDate.getDate()-delayDays); var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { if (threads[i].getLastMessageDate()<maxdate) { threads[i].movetotrash(); } } } }
3.أنشئ محفزًا جديدًا لتشغيل البرنامج النصي وفقًا لجدول زمني. افتح “رمز الجدول الزمني في القائمة اليسرى -> المشغلات -> إضافة مشغل”.
4. خصص إعدادات المشغل لتشغيل النص البرمجي كل ساعة (أو كيفما تشاء كثيرًا) ، ثم مرر لأسفل وانقر على “حفظ”.
بمجرد تشغيل هذا البرنامج النصي ، سيتم إنشاء تصنيف جديد ، “حذف لي” ، في حساب Gmail الخاص بك. ضع علامة على رسائل البريد الإلكتروني غير المرغوب فيها باستخدام هذا التصنيف ، وسيتم حذفها بعد عدد الأيام المحدد في البرنامج النصي الخاص بك.
نصيحة: إذا بدا أن بريدك الإلكتروني قد خرج عن نطاق السيطرة ، فاقرأ مراجعتنا لـ SaneBox ومعرفة ما إذا كان يمكن أن يساعدك في التعامل مع بريدك الإلكتروني.
2. أرشفة جميع رسائل البريد الإلكتروني القديمة
إذا كنت تريد خيارًا أقل خطورة من حذف البريد الإلكتروني ، فيمكنك إنشاء برنامج نصي لأرشفة جميع رسائل البريد الإلكتروني القديمة باتباع الخطوات أدناه.
- قم بإنشاء برنامج نصي جديد من Google بالشفرة التالية:
function archiveOldEmails() { // Get all the threads in the inbox var threads = GmailApp.getInboxThreads(); // Loop through all the threads for (var i = 0; i < threads.length; i++) { var thread = threads[i]; var messages = thread.getMessages(); // Loop through all the messages in the thread for (var j = 0; j < messages.length; j++) { var message = messages[j]; var age = (new Date() - message.getDate()) / (1000 * 60 * 60 * 24); // If the message is older than 30 days, archive it if (age > 30) { thread.moveToArchive(); } } } }
2. قم بإنشاء مشغل (كما هو موضح أعلاه) لتشغيل البرنامج النصي كل يوم.
في الوقت الذي تختاره ، سيتم تشغيل البرنامج النصي ونقل رسائل البريد الإلكتروني من صندوق الوارد الخاص بك إلى الأرشيف. ستظل رسائل البريد الإلكتروني المؤرشفة هذه متاحة في قسم “كل البريد”.
3. احصل على إشعارات الرسائل القصيرة للبريد الإلكتروني المهم
يستفيد نص Google النصي هذا من ميزة الرسائل القصيرة SMS في تقويم Google لإرسال رسالة SMS إليك عندما تتلقى رسالة بريد إلكتروني مهمة.
- قم بإنشاء برنامج نصي جديد من Google بالشفرة التالية:
function Gmail_send_sms(){ var label = GmailApp.getUserLabelByName("Send Text"); if(label == null){ GmailApp.createLabel('Send Text'); } else{ var threads = label.getThreads(); var now = new Date().getTime(); for (var i = 0; i < threads.length; i++) { var message = threads[i].getMessages()[0]; var from = message.getFrom(); var subject = message.getSubject(); CalendarApp.createEvent(subject, new Date(now+60000), new Date(now+60000), {location: from}).addSmsReminder(0); } label.removeFromThreads(threads); } }
2. احفظه وقم بإنشاء مشغل لتشغيله كل خمس دقائق.
3. قم بإنشاء عامل تصفية Gmail جديد يضيف تلقائيًا تصنيف “إرسال نص” إلى رسائل البريد الإلكتروني الواردة التي اخترتها. في Gmail ، انقر فوق رمز خيارات البحث في شريط البحث العلوي.
سيقوم البرنامج النصي بفحص صندوق الوارد الخاص بك كل خمس دقائق. عندما يكتشف بريدًا إلكترونيًا يحمل التصنيف “إرسال نص” ، فإنه سينشئ على الفور حدثًا في تقويم Google ، والذي سيؤدي إلى تشغيل الرسائل القصيرة
4. إنشاء ملخص لرسائل البريد الإلكتروني الخاصة بك
بدلاً من قراءة كل رسائل بريدك الإلكتروني بشكل فردي ، يمكنك كتابة نص برمجي لإنشاء ملخص بريد إلكتروني واحد لبريدك الإلكتروني غير المقروء.
- أنشئ Google Script جديدًا بالشفرة التالية:
function createEmailSummary() { // Search for unread emails var threads = GmailApp.search("is:unread"); var summary = "Unread Emails:\n"; for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; summary += message.getFrom() + ": " + message.getSubject() + "\n"; } } // Search for emails with specific keywords in the subject var threads = GmailApp.search("subject:(important meeting)"); summary += "\nEmails with keyword 'important meeting' in the subject:\n"; for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; summary += message.getFrom() + ": " + message.getSubject() + "\n"; } } // You can add more search criteria here // ... // Send the summary as an email GmailApp.sendEmail("[email protected]", "Email Summary", summary); }
2. قم بتغيير “[email protected]” إلى بريدك الإلكتروني.
3. قم بإنشاء مشغل جديد لتشغيل البرنامج النصي كل يوم.
عند تشغيل النص ، سيرسل إليك بريدًا إلكترونيًا يتضمن عدد كل نوع من أنواع البريد الإلكتروني التي لم تقرأها بعد. يعد النص أعلاه نقطة انطلاق جيدة – فهو يحسب عدد رسائل البريد الإلكتروني ذات “الاجتماع المهم” في الموضوع. يمكنك ضبط البرنامج النصي لحساب معايير البحث المطلوبة.
5. حفظ البريد الإلكتروني كملفات PDF في Google Drive
إذا كان لديك بريد إلكتروني تريد أرشفته في Google Drive ، فيمكنك استخدام برنامج نصي من Google لحفظه كملف PDF في حسابك على Google Drive. سيحفظ البرنامج النصي التالي جميع الرسائل في سلسلة رسائل البريد الإلكتروني كملف PDF واحد في Google Drive. إذا كان البريد الإلكتروني يحتوي على مرفقات ، فسيتم إنشاء مجلد وتخزين الرسائل والمرفقات بداخله.
- قم بإنشاء برنامج نصي جديد من Google بالشفرة التالية:
function save_Gmail_as_PDF() { // Get the label "Save As PDF" or create it if it doesn't exist var label = GmailApp.getUserLabelByName("Save As PDF"); if(label == null){ label = GmailApp.createLabel('Save As PDF'); } // Get the threads with the label var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); var subject = messages[0].getSubject(); var bodys = []; // Loop through all messages in thread for(var j = 0; j < messages.length; j++){ var message = messages[j]; bodys.push({ body: message.getPlainBody(), from: message.getFrom(), }); var attachments = message.getAttachments(); var temp_attach = message.getAttachments(); if(temp_attach.length > 0){ for(var k =0; k < temp_attach.length; k++){ attachments.push(temp_attach[k]); } } } // Create a Google Docs document from the message body var bodyDoc = DocumentApp.create(subject); var bodyDocId = bodyDoc.getId(); var bodyDocFile = DriveApp.getFileById(bodyDocId); var bodyDocBody = bodyDoc.getBody(); bodyDocBody.setText(bodys.map(obj => `From: ${obj.from}\n${obj.body}`).join('\n\n')); bodyDoc.saveAndClose(); // Convert the Google Docs document to a PDF var blob = bodyDocFile.getAs('application/pdf'); var pdfFile = DriveApp.createFile(blob); // If there are attachments if(attachments.length > 0){ // Create a folder in Drive with the message subject var folder = DriveApp.createFolder(subject); for (var j = 0; j < attachments.length; j++) { folder.createFile(attachments[j]); } // Add the PDF file of the message body to the folder folder.createFile(pdfFile); } // Remove the Google Docs document from Google Drive DriveApp.getFileById(bodyDocId).setTrashed(true); // Remove the label from the thread label.removeFromThread(threads[i]); } }
2. احفظه وقم بتعيين مشغل لتشغيله على فترات منتظمة.
عندما تريد حفظ بريد إلكتروني ومرفقاته في Google Drive ، ما عليك سوى وضع علامة عليه بعلامة “حفظ إلى PDF”. سيتم عرض نص كل بريد إلكتروني والمرسل ، في كل سلسلة رسائل ، بالترتيب ، بدءًا من الأقدم.
من المفيد أن تعرف: كيفية حذف الملفات من GOOGLE DRIVE على الهاتف والكمبيوتر.
6. إرسال رسائل البريد الإلكتروني للمتابعة تلقائيًا
قد لا تحصل دائمًا على رد سريع على رسائلك الإلكترونية. لمعالجة هذه المشكلة ، يمكنك إرسال بريد إلكتروني للمتابعة لتذكير مستلمي البريد الإلكتروني. بدلاً من كتابة كل متابعة يدويًا ، يمكنك إرسالها تلقائيًا باستخدام برنامج نصي!
- قم بإنشاء برنامج نصي جديد من Google بالشفرة التالية:
function sendFollowupEmails() { const startDate = new Date('2023-01-01'); const daysAgo = 3; var dateInPast = new Date(); dateInPast.setDate(dateInPast.getDate() - daysAgo); var threads = GmailApp.search("is:sent before:" + dateInPast.toLocaleDateString() + " after:" + startDate.toLocaleDateString()); for (var i = 0; i < threads.length; i++) { var conversation = threads[i]; var foundResponse = false; // If a sent thread has more than 1 email, we don’t need to followup // because we either followed up already or they responded. if (conversation.getMessages().length > 1) { foundResponse = true; } if (!foundResponse) { var body = "Hi, I just wanted to follow up on my previous email. If I get no reply I will assume you are not interested. \n\nBest regards,\n[Your Name]"; conversation.replyAll(body); } } }
2. خصص بعض الأشياء في هذا البرنامج النصي:
- قم بتغيير startDate إلى وقت أقرب من اليوم الحالي لعدم إحياء الخيوط القديمة جدًا.
- تغيير الأيام: اذهب لتخصيص العمر الذي تريد أن يكون عليه البريد الإلكتروني قبل إرسال متابعة.
- قم بتغيير [Your Name] إلى اسمك.
3. احفظه وقم بتعيين مشغل للتشغيل كل سبعة أيام.
استمر في إرسال البريد الإلكتروني بشكل طبيعي ، وسيقوم البرنامج النصي تلقائيًا بالتعامل مع عمليات المتابعة.
7. تسمية رسائل البريد الإلكتروني وفقًا للكلمة الرئيسية للموضوع
إذا أغرقت برسائل البريد الإلكتروني ولكنك لا تريد حذف معظمها ، فيمكنك استخدام هذا النص البرمجي لتصنيفها وتنظيمها بناءً على محتواها.
- قم بإنشاء برنامج نصي جديد من Google بالشفرة التالية:
function categorizeEmails() { const emailsToGet = 50; var keywords = { "promo": "Promotions", "offer": "Promotions", "discount": "Promotions", "newsletter": "Newsletters", "action": "Todo", "required": "Todo", "shipped": "Orders", "delivered": "Orders", "receipt": "Orders", "invoice": "Orders" }; var threads = GmailApp.getInboxThreads(0, emailsToGet); for (var i = 0; i < threads.length; i++) { var subject = threads[i].getFirstMessageSubject().toLowerCase(); var labels = GmailApp.getUserLabels(); var foundLabel = false; for (var keyword in keywords) { if (subject.indexOf(keyword) !== -1) { for (var j = 0; j < labels.length; j++) { if (labels[j].getName() === keywords[keyword]) { threads[i].addLabel(labels[j]); foundLabel = true; break; } } if (!foundLabel) { GmailApp.createLabel(keywords[keyword]); threads[i].addLabel(GmailApp.getUserLabelByName(keywords[keyword])); } break; } } } }
2. يمكنك تخصيص عدد رسائل البريد الإلكتروني المتأثرة بمتغير mailToGet أو الكلمات الرئيسية والتسميات باستخدام الكلمات الرئيسية المتغيرة.
3. احفظ البرنامج النصي وقم بتعيين مشغل للتشغيل كل بضع دقائق أو ساعات.
يتيح لك ذلك البقاء على اطلاع دائم بالأمور من خلال عرض رسائل البريد الإلكتروني التي تحمل تصنيفًا محددًا فقط. يعمل هذا البرنامج النصي بشكل جيد مع معظم رسائل البريد الإلكتروني الخاصة بك ، مما يوفر عليك من حذفها ببساطة.
8. إعادة توجيه بعض رسائل البريد الإلكتروني إلى عدة عناوين أخرى
بينما يحتوي Gmail على طريقة مضمنة لإعادة توجيه البريد الإلكتروني إلى عنوان بريد إلكتروني آخر ، فإنه لا يمكنه إعادة توجيه البريد الإلكتروني بسهولة بمعايير معينة إلى عناوين بريد إلكتروني متعددة ، ولكن هذا النص البرمجي يمكنه ذلك.
- قم بإنشاء برنامج نصي جديد بالرمز التالي:
function categorizeEmails() { const emailsToGet = 50; var keywords = { "promo": "Promotions", "offer": "Promotions", "discount": "Promotions", "newsletter": "Newsletters", "action": "Todo", "required": "Todo", "shipped": "Orders", "delivered": "Orders", "receipt": "Orders", "invoice": "Orders" }; var threads = GmailApp.getInboxThreads(0, emailsToGet); for (var i = 0; i < threads.length; i++) { var subject = threads[i].getFirstMessageSubject().toLowerCase(); var labels = GmailApp.getUserLabels(); var foundLabel = false; for (var keyword in keywords) { if (subject.indexOf(keyword) !== -1) { for (var j = 0; j < labels.length; j++) { if (labels[j].getName() === keywords[keyword]) { threads[i].addLabel(labels[j]); foundLabel = true; break; } } if (!foundLabel) { GmailApp.createLabel(keywords[keyword]); threads[i].addLabel(GmailApp.getUserLabelByName(keywords[keyword])); } break; } } } }
2. تخصيص المعايير حسب الحاجة.
3. قم بإنشاء مشغل يقوم بتشغيل البرنامج النصي كل بضع دقائق أو ساعات.
سيقوم Gmail تلقائيًا بإعادة توجيه البريد الإلكتروني الذي يطابق معاييرك إلى عنوانين أو أكثر من عناوين البريد الإلكتروني.
أسئلة شائعة
س1: هل Google Apps Script مجاني للاستخدام؟
الجواب: نعم ، Google Apps Script مجاني للاستخدام طالما لديك حساب Gmail. ومع ذلك ، هناك العشرات من الحصص والقيود على استخدامك. قد تقوم Google بتغيير هذه الميزات في أي وقت ، ولكن في وقت كتابة هذا التقرير ، تتضمن ما يقرب من 40 ميزة ، مثل المستندات التي تم إنشاؤها ، وقراءة / كتابة البريد الإلكتروني ، وجداول البيانات التي تم إنشاؤها ، وتشغيل إجمالي وقت التشغيل. الحسابات المجانية لها حد منخفض للغاية ، في حين أن مساحة Google Workspace لها حد أعلى بكثير.
س2: هل يمكنني استخدام Google Apps Script للوصول إلى البيانات من خدمات أخرى؟
الجواب: نعم ، لا يقتصر Google Apps Script على العمل مع خدمات Google. يمكنك الوصول إلى البيانات من خدمات خارجية غير تابعة لـ Google على الإنترنت (على سبيل المثال ، Pokémon API) باستخدام فئات مضمنة مثل UrlFetchApp مثل:
var response = UrlFetchApp.fetch("https://pokeapi.co/api/v2/pokemon/ditto");
Logger.log(response.getContentText()); // All details of Ditto would be logged
س3: ماذا أفعل إذا ظهرت لي أخطاء في برمجة تطبيقات Google الخاصة بي؟
الجواب: يمكنك تصحيح التعليمات البرمجية الخاصة بك لتحديد وإصلاح الخطأ. لحسن الحظ ، يحتوي Google Apps Script على مصحح أخطاء مضمن يمكنك استخدامه لتحري الخلل في التعليمات البرمجية وإصلاحها. لاستخدامه ، ما عليك سوى فتح محرر البرنامج النصي والنقر فوق تصحيح. من هناك ، يمكنك تعيين نقاط التوقف ، والتنقل عبر التعليمات البرمجية الخاصة بك ، وفحص المتغيرات للمساعدة في تحديد أي مشكلات.