שליפת קבצים מצורפים ממלא מיילים
-
אני מחפש סקריפט, תוכנה שתחלץ לי קבצים מצורפים מכמות של מיילים לתוך תקיה אחת.
מצאתי נושא ישן על זה https://tchumim.com/topic/9848/הורדה-של-כל-הקבצים-המצורפים-במייל
אבל לא מצאתי שם תשובה
הכי טוב אם זה יוכל לפעול על תווית בגמייל. אני לא צריך את זה אונליין אלא חד פעמי על מיילים שכבר התקבלו.
תודה רבה. -
-
@ראש-פינה תוכל להשתמש בסקריפט הזה.
שים לב להגדיר את שם התווית במייל בשורה 2 ואת שם התיקייה בגוגל דרייב בשורה 3.
function attachmentsToFolder() { var label = GmailApp.getUserLabelByName('a'); var folderName = 'Files'; var folder; try { folder = DriveApp.getFoldersByName(folderName).next(); } catch(e) { folder = DriveApp.createFolder(folderName); } var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var attachments = messages[j].getAttachments(); if (attachments.length > 0) { for (var k = 0; k < attachments.length; k++) { var file = folder.createFile(attachments[k]); } } threads[i].removeLabel(label); } } } -
@אביי כתב בשליפת קבצים מצורפים ממלא מיילים:
@ראש-פינה תוכל להשתמש בסקריפט הזה.
נראה משובח במיוחד,
כבר מריץ את זה,
הטריגר זה חד פעמי נכון? -
@ראש-פינה אם אתה רוצה את זה חד פעמי, אתה לא צריך להתקין טריגר, תדביק את הקוד בעורך ותלחץ על
אם הרצה אחת לא תספיק לכל הקבצים (עשוי לקרות אם יש כמה מאות הודעות/קבצים ללא חשבון עסקי) תוכל להגדיר טריגר לכל 10 דק' ולבטל בסיום) -
@אביי כתב בשליפת קבצים מצורפים ממלא מיילים:
@ראש-פינה תוכל להשתמש בסקריפט הזה.
עבד מעולה !!!
ממש תודה
רק הוא מעלים את התווית מכל המיילים (גם מהמיילים שאין בהם קובץ מצורף),
אני רוצה שהתווית תישאר. או לחילופין האם יש אפשרות להחיל על כל המיילים שהוא כבר שאב מהם את הקובץ תווית חדשה.אם הרצה אחת לא תספיק לכל הקבצים (עשוי לקרות אם יש כמה מאות הודעות/קבצים ללא חשבון עסקי) תוכל להגדיר טריגר לכל 10 דק' ולבטל בסיום)
אם אני מבין נכון אז אם הסקריפט לא ימחוק את התווית אז כל פעם הוא יתחיל מהתחלה נכון?
ואז אם יש כמות ענקית של קבצים הוא יחזור על אותם קבצים כל הזמן. -
@ראש-פינה כתב בשליפת קבצים מצורפים ממלא מיילים:
אני רוצה שהתווית תישאר. או לחילופין האם יש אפשרות להחיל על כל המיילים שהוא כבר שאב מהם את הקובץ תווית חדשה.
להשאיר את התווית א"א כי בכל הפעלה הוא ירוץ שוב על אותם ההודעות, אבל אפשר להגדיר תווית חדשה, כך:
תוסיף אחרי שורה 2 את זה
threads[i].addLabel(label_add);
ואחרי שורה 23
var label_add = `b`// שם התווית החדשה
-
@אביי כתב בשליפת קבצים מצורפים ממלא מיילים:
להשאיר את התווית א"א כי בכל הפעלה הוא ירוץ שוב על אותם ההודעות, אבל אפשר להגדיר תווית חדשה, כך:
כנראה משהו הגדרתי לא נכון
כי הוא לא שם את התווית החדשה והוא גם חוזר על עצמו הוא שם את הקובץ בדרייב כמה פעמים.
הנה הקוד ששמתיfunction attachmentsToFolder() { var label = GmailApp.getUserLabelByName('למחיקה'); var folderName = '888'; var folder; try { folder = DriveApp.getFoldersByName(folderName).next(); } catch(e) { folder = DriveApp.createFolder(folderName); } var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var attachments = messages[j].getAttachments(); if (attachments.length > 0) { for (var k = 0; k < attachments.length; k++) { var file = folder.createFile(attachments[k]); } } threads[i].removeLabel(label); var label_add = `AA`; } } } -
ההגדרות שאתה צריך להגדיר נמצאות בשורות 9-11
שכחת לשים את
threads[i].addLabel(label_add);
ואני החלפתי במיקום של השורות.../* * Developed by abaye © * 📁 Files Gmail To Drive v1.0 21/02/2023 * https://buymeacoffee.com/abaye * email: cs@abaye.ml */ function attachmentsToFolder() { var label = GmailApp.getUserLabelByName('a'); // שם התווית בגימייל var label_add = 'ToPhone'; // שם התווית החדשה var folderName = 'Files'; // שם התיקייה בגוגל דרייב var folder; try { folder = DriveApp.getFoldersByName(folderName).next(); } catch (e) { folder = DriveApp.createFolder(folderName); } var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var attachments = messages[j].getAttachments(); if (attachments.length > 0) { for (var k = 0; k < attachments.length; k++) { var file = folder.createFile(attachments[k]); } } threads[i].removeLabel(label); var label_n = GmailApp.getUserLabelByName(label_add); threads[i].addLabel(label_n); } } } -
@אביי כתב בשליפת קבצים מצורפים ממלא מיילים:
ההגדרות שאתה צריך להגדיר נמצאות בשורות 9-11
ממש תודה!!!
נותן הודעת שגיאה, מעביר לתקיה, מוחק תווית ישנה ולא מחיל תווית חדשה (אולי חסר בשורה 10 סוגר שורה?)
-
@אביי כתב בשליפת קבצים מצורפים ממלא מיילים:
זה צריך להיות ככה
מקווה יום אחד להבין מה הבעיה ומה היה הפתרון....(:
ובכלל איך עושים סקירפטים....בכל אופן רציתי לדעת האם ישנה אפשרות לשדרג לעשות סוג של פילטר שברגע שאין למייל קובץ מצורף הוא לא יגיע בתווית שלו.
אני יסביר בשביל מה זה כל כך טוב כל כך לי ולמלא אנשים
אני צריך להוציא להגשת דו"ח שנתי את כל החשבוניות שמלא חנויות שלחו למייל שנה אחורה. אז דרך הסקירפט הזה לוקח לי שניות.הבעיה שיש הרבה ששולחים חשבונית לא בתור קובץ מצורף אלא כקישור. ואז אני צריך לעבור אחד אחד ולהוריד. לכן אני רוצה שזה יישאר לי עדיין תחת התווית של חשבוניות.
או שיש לך פתרון אחר..?
-
/* * Developed by abaye © * 📁 Files Gmail To Drive v1.0 21/02/2023 * https://buymeacoffee.com/abaye * email: cs@abaye.ml */ function attachmentsToFolder() { var label = GmailApp.getUserLabelByName('a'); // שם התווית בגימייל var label_add = 'ToPhone'; // שם התווית החדשה var folderName = 'Files'; // שם התיקייה בגוגל דרייב var folder; try { folder = DriveApp.getFoldersByName(folderName).next(); } catch (e) { folder = DriveApp.createFolder(folderName); } var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var attachments = messages[j].getAttachments(); if (attachments.length > 0) { for (var k = 0; k < attachments.length; k++) { var file = folder.createFile(attachments[k]); } threads[i].removeLabel(label); var label_n = GmailApp.getUserLabelByName(label_add); threads[i].addLabel(label_n); } } } } -
@ראש-פינה כתב בשליפת קבצים מצורפים ממלא מיילים:
בכל אופן רציתי לדעת האם ישנה אפשרות לשדרג לעשות סוג של פילטר שברגע שאין למיכל קובץ מצורף הוא לא יגע בתווית שלו.
התיקון של @ivrtikshoret עושה את זה.
לגבי הקבצים שבקישורים, אני חושב שיש לי פיתרון גם לזה, אבל אני לא מעוניין לפרסם באופן ציבורי מפאת סיבות מסוימות וד"ל, אז תשלח אלי מייל לפרטי, ואשלח לך בעז"ה.
-
@אביי כתב בשליפת קבצים מצורפים ממלא מיילים:
@ראש-פינה תוכל להשתמש בסקריפט הזה.
כרגע עשיתי עוד בדיקות והבעיה שהוא מעביר כל קובץ כמה פעמים לתקיה, בכל סוגי הסקריפטים שהבאת.
-
@ראש-פינה כתב בשליפת קבצים מצורפים ממלא מיילים:
@אביי כתב בשליפת קבצים מצורפים ממלא מיילים:
@ראש-פינה תוכל להשתמש בסקריפט הזה.
כרגע עשיתי עוד בדיקות והבעיה שהוא מעביר כל קובץ כמה פעמים לתקיה, בכל סוגי הסקריפטים שהבאת.
אתה בטוח? כי הרצתי את זה בעצמי על כמה מיילים והביא לי כל קובץ פעם אחת.
יכול להיות שהרצת כמה פעמים על אותם ההודעות, ולא מחקת את הקבצים הישנים?
-
@אביי כתב בשליפת קבצים מצורפים ממלא מיילים:
אתה בטוח? כי הרצתי את זה בעצמי על כמה מיילים והביא לי כל קובץ פעם אחת.
עשיתי עכשיו בדיקה יותר יסודית.
ולצערי כן, הוא מביא את זה כמה פעמים.
באמת אם זה מייל אחד או שתיים אז אין בעיה אבל בהרבה מיילים בעיקר בשירשורים כלומר מייל שעניתי עליו אז הוא מביא את הקובץ כמה וכמה פעמים.
כרגע מהמסקנה שלי הזמנית מיילים נכנסים בלבד כלומר אם נניח אני רוצה לאגור בתקיית דרייב אחת את כל העלונים שאני מקבל כל יום למייל אז זה עוד חלק
אבל בהתכתבות עם משיהו כרגע יש איזה בעיה שאני לא מצליח להבין מהי.אני ישלח לך למייל תמונות.
-
@ראש-פינה בדקתי את זה עכשיו, על מייל עם מספר קבצים ששלחתי לו תשובה וקיבלתי חזרה תשובה נוספת לאותו שרשור, ועל עוד כמה הודעות דומות, ולא קיבלתי שום קובץ מצורף פעמיים.
(מלבד תמונות מוטמעות בגוף המייל, שכמובן הגיעו כמספר הפעמים שהם הוטמעו, בהודעה הראשונה, ובטקסט המצוטט בתשובה)
ככה"נ הבעיה בהודעות המייל אצלך, אולי זה בגלל שההודעות אצלך לא מקובצות לשרשורים... (אמנם בדקתי גם בצורה הזו, אבל זה השוני שמצאתי בין אצלי לאצלך..)
3/20