דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. בקשה ! עזרה בכתיבת קוד לג'ימיל להעברת הודעות מייל

בקשה ! עזרה בכתיבת קוד לג'ימיל להעברת הודעות מייל

מתוזמן נעוץ נעול הועבר נפתר עזרה הדדית - מחשבים וטכנולוגיה
69 פוסטים 6 כותבים 1.4k צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chvC chv

    @גבאי בשמחה.. זה לא מסובך לי
    זה מטפל רק בהודעות עם התווית שתכתוב. ואחרי שמטפל בהודעה הוא מסיר ממנה את התווית (כמובן כדי שלא יבצע בה את הפרוצדורה שוב)

    function redirect() {
      let printerEmail = 'hppppppp@mail.com' // מייל של המדפסת
      let label = GmailApp.getUserLabelByName('label') // שם של התווית
      let messages = label.getThreads()
      if (messages.length > 0) {
        messages.forEach(function (m) {
          let message = m.getMessages()[0]
          let subject = message.getSubject()
          let body = message.getBody()
          let attachments = message.getAttachments()
          MailApp.sendEmail(printerEmail, subject, '', {
            htmlBody: body,
            attachments: attachments
          })
          m.removeLabel(label) // מסיר את התווית מהמייל שטופל
        })
      }
    }
    

    אני מבין שאתה יודע להוסיף טריגרים וכו'

    ג מנותק
    ג מנותק
    גבאי
    כתב ב נערך לאחרונה על ידי
    #18

    @chv יש לי עוד אתגר /בעיה קטנה.
    כששולחים מיל למדפסת מקבלים מיל תשובה עם אישור שזה נעשה. אני מעונין שמי ששולח מייל להדפסה לכתובת הג'ימיל ג"כ יקבל את הודעת האישור. מה שעשיתי כרגע זה שמקבלים תשובה אוטומטית עם אישור (רק שהסתבכתי קצת שגם המדפסת תקבל את התשובה אוטומטית. ולא מצאתי צורה פשוטה לעשות תשובה אוטומטית לפי סינון מסוים. רק ע"י סקריפט כפי שהבאתי בפוטס הראשון)
    רק שהחיסרון הוא שאם מתקבלת מהמדפסת הודעת שגיאה זה לא יעביר את זה חזרה למי ששלח את ההודעה אלא הוא יקבל ג"כ הודעת אישור.
    חשבתי על כיון לפיתרון אולי אפשר לעשות שכל מי ששולח הודעה יקבל תווית מסוימת. ולעשות פקודה שכל מיל שמגיע מהמדפסת נשלח חזרה למילים שיש בהם את התויות הנ"ל (ומחיקת התוית)
    האם זה אפשרי? או שאולי יש לך רעיון יותר טוב? (ברעיון שלי יש חיסרון קטן שאם שלחו 2 בתוך דקה שניהם יקבלו את אותה התשובה)

    chvC תגובה 1 תגובה אחרונה
    0
    • ג גבאי

      @chv יש לי עוד אתגר /בעיה קטנה.
      כששולחים מיל למדפסת מקבלים מיל תשובה עם אישור שזה נעשה. אני מעונין שמי ששולח מייל להדפסה לכתובת הג'ימיל ג"כ יקבל את הודעת האישור. מה שעשיתי כרגע זה שמקבלים תשובה אוטומטית עם אישור (רק שהסתבכתי קצת שגם המדפסת תקבל את התשובה אוטומטית. ולא מצאתי צורה פשוטה לעשות תשובה אוטומטית לפי סינון מסוים. רק ע"י סקריפט כפי שהבאתי בפוטס הראשון)
      רק שהחיסרון הוא שאם מתקבלת מהמדפסת הודעת שגיאה זה לא יעביר את זה חזרה למי ששלח את ההודעה אלא הוא יקבל ג"כ הודעת אישור.
      חשבתי על כיון לפיתרון אולי אפשר לעשות שכל מי ששולח הודעה יקבל תווית מסוימת. ולעשות פקודה שכל מיל שמגיע מהמדפסת נשלח חזרה למילים שיש בהם את התויות הנ"ל (ומחיקת התוית)
      האם זה אפשרי? או שאולי יש לך רעיון יותר טוב? (ברעיון שלי יש חיסרון קטן שאם שלחו 2 בתוך דקה שניהם יקבלו את אותה התשובה)

      chvC מנותק
      chvC מנותק
      chv
      כתב ב נערך לאחרונה על ידי
      #19

      @גבאי זה כבר מעניין..
      השאלה שלך כאן היא בעצם איך לזהות את השולח המקורי של ההודעה שמגיעה כתשובה מהמדפסת (שהרי מי ששלח אותה בפועל זה אנחנו ולא הוא)
      בא נחשוב.. יש לכל שרשור במייל מזהה מיוחד (ID) (יש גם לכל הודעה ID אבל זה פחות חשוב)
      אם אנחנו מאחסנים את ה-ID של ההודעה המקורית - במייל שאנחנו שולחים למדפסת (ומקבלים תשובה ממנה עליו) נוכל לפענח אותו מהתשובה וכך נדע לאן להעביר את התשובה (להכניס אותה כתשובה לשרשור המקורי, על פי ה-ID)
      אני חושב שאפשר לעבוד ממש ידני, להכניס את ה-ID לתוך הנושא של ההודעה שנשלחת למדפסת מהסקריפט. וכך אפשר אחר כך לחלץ אותו מתוך הנושא כדי לדעת לאן להעביר את ההודעה שהתקבלה ממנה.
      ככה בערך?

      function redirect() {
        let printerEmail = 'hppppppp@mail.com' // מייל של המדפסת
        let forwardlabel = GmailApp.getUserLabelByName('forward') // שם של תווית - העברה למדפסת
        let workinglabel = GmailApp.getUserLabelByName('working') // שם של תווית - עובד על זה
        let fromprinter = GmailApp.getUserLabelByName('fromprinter') // שם של תווית - מהמדפסת, להעברה לשולח המקורי
        let donelabel = GmailApp.getUserLabelByName('done') // שם של תווית - בוצע
        let forwardmessages = forwardlabel.getThreads()
        if (forwardmessages.length > 0) {
          forwardmessages.forEach(function (m) {
            let id = m.getId() // מקבלים את המזהה של השרשור כדי להוסיף אותו לנושא של ההודעה שתישלח למדפסת
            let message = m.getMessages()[0]
            let subject = message.getSubject()
            let body = message.getBody()
            let attachments = message.getAttachments()
            MailApp.sendEmail(printerEmail, subject + ' ' + id, '', {
              htmlBody: body,
              attachments: attachments
            })
            m.removeLabel(forwardlabel) // מסיר את תווית העברה
            m.addLabel(workinglabel) // מוסיף תווית עובד על זה
          })
        }
        let printermessages = fromprinter.getThreads()
        if (printermessages.length > 0) {
          printermessages.forEach(function (m) {
            let message = m.getMessages()
            let lastmessage = message[message.length -1]
            let subject = message.getSubject()
            let id = subject.split(' ').splice(-1)[0] // מקבלים את המזהה של השרשור המקורי על ידי ניתוח הנושא של ההודעה מהמדפסת
            let body = lastmessage.getBody()
            let attachments = lastmessage.getAttachments()
            let originalthread = GmailApp.getThreadById(id) // מקבלים את השרשור המקורי על ידי המזהה
            originalthread.reply(body, {
              attachments: attachments
            })
            m.removeLabel(fromprinter) // מוחקים את התווית של העברה לשולח מקורי מהשרשור של המדפסת
            originalthread.removeLabel(workinglabel) // מוחקים מהשרשור המקורי את התווית עובד על זה
            originalthread.addLabel(donelabel) // מוסיפים לשרשור המקורי את תווית בוצע
          })
        }
      }
      

      אתה צריך להגדיר מסנן שיחיל את התווית 'להעברה למדפסת' על הודעות מהשולחים שלך.
      וגם להגדיר מסנן שיחיל תווית 'מהמדפסת, להעברה לשולח מקורי' על כל ההודעות החוזרות מהמדפסת.
      תוויות שבתכלס יהיו אצלך:

      • להעברה למדפסת
      • עובד על זה (מחכה לתשובה מהמדפסת)
      • להעברה לשולח מקורי (תשובות מהמדפסת)
      • בוצע

      בלוג

      ג תגובה 1 תגובה אחרונה
      7
      • chvC chv

        @גבאי זה כבר מעניין..
        השאלה שלך כאן היא בעצם איך לזהות את השולח המקורי של ההודעה שמגיעה כתשובה מהמדפסת (שהרי מי ששלח אותה בפועל זה אנחנו ולא הוא)
        בא נחשוב.. יש לכל שרשור במייל מזהה מיוחד (ID) (יש גם לכל הודעה ID אבל זה פחות חשוב)
        אם אנחנו מאחסנים את ה-ID של ההודעה המקורית - במייל שאנחנו שולחים למדפסת (ומקבלים תשובה ממנה עליו) נוכל לפענח אותו מהתשובה וכך נדע לאן להעביר את התשובה (להכניס אותה כתשובה לשרשור המקורי, על פי ה-ID)
        אני חושב שאפשר לעבוד ממש ידני, להכניס את ה-ID לתוך הנושא של ההודעה שנשלחת למדפסת מהסקריפט. וכך אפשר אחר כך לחלץ אותו מתוך הנושא כדי לדעת לאן להעביר את ההודעה שהתקבלה ממנה.
        ככה בערך?

        function redirect() {
          let printerEmail = 'hppppppp@mail.com' // מייל של המדפסת
          let forwardlabel = GmailApp.getUserLabelByName('forward') // שם של תווית - העברה למדפסת
          let workinglabel = GmailApp.getUserLabelByName('working') // שם של תווית - עובד על זה
          let fromprinter = GmailApp.getUserLabelByName('fromprinter') // שם של תווית - מהמדפסת, להעברה לשולח המקורי
          let donelabel = GmailApp.getUserLabelByName('done') // שם של תווית - בוצע
          let forwardmessages = forwardlabel.getThreads()
          if (forwardmessages.length > 0) {
            forwardmessages.forEach(function (m) {
              let id = m.getId() // מקבלים את המזהה של השרשור כדי להוסיף אותו לנושא של ההודעה שתישלח למדפסת
              let message = m.getMessages()[0]
              let subject = message.getSubject()
              let body = message.getBody()
              let attachments = message.getAttachments()
              MailApp.sendEmail(printerEmail, subject + ' ' + id, '', {
                htmlBody: body,
                attachments: attachments
              })
              m.removeLabel(forwardlabel) // מסיר את תווית העברה
              m.addLabel(workinglabel) // מוסיף תווית עובד על זה
            })
          }
          let printermessages = fromprinter.getThreads()
          if (printermessages.length > 0) {
            printermessages.forEach(function (m) {
              let message = m.getMessages()
              let lastmessage = message[message.length -1]
              let subject = message.getSubject()
              let id = subject.split(' ').splice(-1)[0] // מקבלים את המזהה של השרשור המקורי על ידי ניתוח הנושא של ההודעה מהמדפסת
              let body = lastmessage.getBody()
              let attachments = lastmessage.getAttachments()
              let originalthread = GmailApp.getThreadById(id) // מקבלים את השרשור המקורי על ידי המזהה
              originalthread.reply(body, {
                attachments: attachments
              })
              m.removeLabel(fromprinter) // מוחקים את התווית של העברה לשולח מקורי מהשרשור של המדפסת
              originalthread.removeLabel(workinglabel) // מוחקים מהשרשור המקורי את התווית עובד על זה
              originalthread.addLabel(donelabel) // מוסיפים לשרשור המקורי את תווית בוצע
            })
          }
        }
        

        אתה צריך להגדיר מסנן שיחיל את התווית 'להעברה למדפסת' על הודעות מהשולחים שלך.
        וגם להגדיר מסנן שיחיל תווית 'מהמדפסת, להעברה לשולח מקורי' על כל ההודעות החוזרות מהמדפסת.
        תוויות שבתכלס יהיו אצלך:

        • להעברה למדפסת
        • עובד על זה (מחכה לתשובה מהמדפסת)
        • להעברה לשולח מקורי (תשובות מהמדפסת)
        • בוצע
        ג מנותק
        ג מנותק
        גבאי
        כתב ב נערך לאחרונה על ידי גבאי
        #20

        @chv וואו ......... כל הכבוד.
        עדיין לא נסיתי לעשות את זה בפועל.
        אבל יש בעיה אחת לפי מה שאני מבין הרעיון בנוי על כך שבהודעת תשובה שמתקבלת מהמדפסת מופיע הנושא ששלחתי אליה! (כמו "השב" בכל פעם)
        אבל האמת היא שהמדפסת לא שולחת הודעת תשובה אלא הודעה חדשה ואין בה שום איזכור לאיזה הודעה היא משיבה. (הנתון היחיד זה הכתובת שממנה נשלח כל השאר זהה לחלוטין)
        כך נראית ההודעה
        34d0b3ae-adbd-4d4e-905e-f1ccd5f50b4c-image.png

        תגובה 1 תגובה אחרונה
        0
        • chvC מנותק
          chvC מנותק
          chv
          כתב ב נערך לאחרונה על ידי
          #21

          @גבאי אה.. אז אין דרך (אמיתית) לוודא על מה זה בא כתשובה.. אין מה לעשות

          בלוג

          ג תגובה 1 תגובה אחרונה
          3
          • chvC chv

            @גבאי אה.. אז אין דרך (אמיתית) לוודא על מה זה בא כתשובה.. אין מה לעשות

            ג מנותק
            ג מנותק
            גבאי
            כתב ב נערך לאחרונה על ידי גבאי
            #22

            @chv אבל זה יעבוד לי כרגע? לפחות על האחרון או האחרונים? או שבגלל שאין מזהה הקוד ישתבש?
            אני מתעצל לבדוק לפני שאני שואל אותך
            ועוד משהו שאני מסתבך איתו
            לא מצאתי אפשרות לעשות מסנן שיחול על כל ההודעות מלבד הודעות שיגיעו מהמדפסת (ולכן האפשרות הראשונה שלך לעשות את הפקודה על כל ההודעות שלא נקראו היתה יותר טובה כי עשיתי מסנן על ההודעות שמגיעות מהמדפסת שיסומן כנקרא וידלג על דואר נכנס וכך זה אמור לעקוף אותו)
            יש לך רעיון איך לעשות את זה?

            chvC תגובה 1 תגובה אחרונה
            0
            • ג גבאי

              @chv אבל זה יעבוד לי כרגע? לפחות על האחרון או האחרונים? או שבגלל שאין מזהה הקוד ישתבש?
              אני מתעצל לבדוק לפני שאני שואל אותך
              ועוד משהו שאני מסתבך איתו
              לא מצאתי אפשרות לעשות מסנן שיחול על כל ההודעות מלבד הודעות שיגיעו מהמדפסת (ולכן האפשרות הראשונה שלך לעשות את הפקודה על כל ההודעות שלא נקראו היתה יותר טובה כי עשיתי מסנן על ההודעות שמגיעות מהמדפסת שיסומן כנקרא וידלג על דואר נכנס וכך זה אמור לעקוף אותו)
              יש לך רעיון איך לעשות את זה?

              chvC מנותק
              chvC מנותק
              chv
              כתב ב נערך לאחרונה על ידי
              #23

              @גבאי תנאי "לא" בפילטרים של ג'ימייל עושים עם סימן מינוס (-) כלומר זה ככה בחיפוש:

              from:(-email@gmail.com)
              

              זה מביא את כל המיילים שלא מהכתובת הזו
              (אז כנראה בממשק של בניית הפילטרים דרך ההגדרות של ג'ימייל פשוט מכניסים בשורה "מאת" - ככה: (email@gmail.com-) אני משער)

              אז רק תסביר לי מה הולך להיות ההרכב של ההודעות כדי שאני יבין איך אמור להיראות הסקריפט.
              הולך להיות כך שכל הודעה (לא מהכתובת של HP הנ"ל) תקבל מייד תווית "להעברה" אם היא לא נקראה (זאת על ידי מסנן, לא הסקריפט)
              ואז הסקריפט יטפל בכל ההודעות עם תווית "להעברה" - יישלח מהתוכן שלהן הודעה למדפסת + יימחק את התווית "להעברה" וייקצה לה תווית "בטיפול"
              כאשר מגיעה הודעה מהמדפסת והיא לא נקראה עדיין - הסקריפט יישלח את התוכן של הההודעה מהמדפסת, כתשובה לכל ההודעות שיש להן תווית "בטיפול", יימחק מהן את התווית "בטיפול" וייקצה תווית "בוצע"
              ואת ההודעה של המדפסת הוא ייסמן כנקרא?
              משהו כזה?

              בלוג

              ג 2 תגובות תגובה אחרונה
              5
              • chvC chv

                @גבאי תנאי "לא" בפילטרים של ג'ימייל עושים עם סימן מינוס (-) כלומר זה ככה בחיפוש:

                from:(-email@gmail.com)
                

                זה מביא את כל המיילים שלא מהכתובת הזו
                (אז כנראה בממשק של בניית הפילטרים דרך ההגדרות של ג'ימייל פשוט מכניסים בשורה "מאת" - ככה: (email@gmail.com-) אני משער)

                אז רק תסביר לי מה הולך להיות ההרכב של ההודעות כדי שאני יבין איך אמור להיראות הסקריפט.
                הולך להיות כך שכל הודעה (לא מהכתובת של HP הנ"ל) תקבל מייד תווית "להעברה" אם היא לא נקראה (זאת על ידי מסנן, לא הסקריפט)
                ואז הסקריפט יטפל בכל ההודעות עם תווית "להעברה" - יישלח מהתוכן שלהן הודעה למדפסת + יימחק את התווית "להעברה" וייקצה לה תווית "בטיפול"
                כאשר מגיעה הודעה מהמדפסת והיא לא נקראה עדיין - הסקריפט יישלח את התוכן של הההודעה מהמדפסת, כתשובה לכל ההודעות שיש להן תווית "בטיפול", יימחק מהן את התווית "בטיפול" וייקצה תווית "בוצע"
                ואת ההודעה של המדפסת הוא ייסמן כנקרא?
                משהו כזה?

                ג מנותק
                ג מנותק
                גבאי
                כתב ב נערך לאחרונה על ידי
                #24

                @chv בדיוק כך!

                chvC תגובה 1 תגובה אחרונה
                1
                • chvC chv

                  @גבאי תנאי "לא" בפילטרים של ג'ימייל עושים עם סימן מינוס (-) כלומר זה ככה בחיפוש:

                  from:(-email@gmail.com)
                  

                  זה מביא את כל המיילים שלא מהכתובת הזו
                  (אז כנראה בממשק של בניית הפילטרים דרך ההגדרות של ג'ימייל פשוט מכניסים בשורה "מאת" - ככה: (email@gmail.com-) אני משער)

                  אז רק תסביר לי מה הולך להיות ההרכב של ההודעות כדי שאני יבין איך אמור להיראות הסקריפט.
                  הולך להיות כך שכל הודעה (לא מהכתובת של HP הנ"ל) תקבל מייד תווית "להעברה" אם היא לא נקראה (זאת על ידי מסנן, לא הסקריפט)
                  ואז הסקריפט יטפל בכל ההודעות עם תווית "להעברה" - יישלח מהתוכן שלהן הודעה למדפסת + יימחק את התווית "להעברה" וייקצה לה תווית "בטיפול"
                  כאשר מגיעה הודעה מהמדפסת והיא לא נקראה עדיין - הסקריפט יישלח את התוכן של הההודעה מהמדפסת, כתשובה לכל ההודעות שיש להן תווית "בטיפול", יימחק מהן את התווית "בטיפול" וייקצה תווית "בוצע"
                  ואת ההודעה של המדפסת הוא ייסמן כנקרא?
                  משהו כזה?

                  ג מנותק
                  ג מנותק
                  גבאי
                  כתב ב נערך לאחרונה על ידי
                  #25

                  @chv אמר בבקשה ! עזרה בכתיבת קוד לג'ימיל להעברת הודעות מייל:

                  (אז כנראה בממשק של בניית הפילטרים דרך ההגדרות של ג'ימייל פשוט מכניסים בשורה "מאת" - ככה: (email@gmail.com-) אני משער)

                  עובד מצוין תודה על הרעיון!!!!!!

                  תגובה 1 תגובה אחרונה
                  1
                  • ג גבאי

                    @chv בדיוק כך!

                    chvC מנותק
                    chvC מנותק
                    chv
                    כתב ב נערך לאחרונה על ידי
                    #26

                    @גבאי אם כך אין כמעט מה לשנות בסקריפט. שניה

                    בלוג

                    ג תגובה 1 תגובה אחרונה
                    2
                    • chvC chv

                      @גבאי אם כך אין כמעט מה לשנות בסקריפט. שניה

                      ג מנותק
                      ג מנותק
                      גבאי
                      כתב ב נערך לאחרונה על ידי
                      #27

                      @chv נכון! (כמה שאני מבין 🙇 )
                      רק שלא יטפל במזהה אלא יעבוד על כל ההודעות עם התווית

                      תגובה 1 תגובה אחרונה
                      0
                      • chvC מנותק
                        chvC מנותק
                        chv
                        כתב ב נערך לאחרונה על ידי
                        #28

                        משהו כזה:

                        function redirect() {
                          let printerEmail = 'hppppppp@mail.com' // מייל של המדפסת
                          let forwardlabel = GmailApp.getUserLabelByName('forward') // שם של תווית - העברה למדפסת
                          let workinglabel = GmailApp.getUserLabelByName('working') // שם של תווית - עובד על זה
                          let donelabel = GmailApp.getUserLabelByName('done') // שם של תווית - בוצע
                          let forwardmessages = forwardlabel.getThreads()
                          if (forwardmessages.length > 0) {
                            forwardmessages.forEach(function (m) {
                              let message = m.getMessages()[0]
                              let subject = message.getSubject()
                              let body = message.getBody()
                              let attachments = message.getAttachments()
                              MailApp.sendEmail(printerEmail, subject, '', {
                                htmlBody: body,
                                attachments: attachments
                              })
                              m.removeLabel(forwardlabel) // מסיר את תווית העברה
                              m.addLabel(workinglabel) // מוסיף תווית עובד על זה
                            })
                          }
                          let printermessages = GmailApp.search(`from:${printerEmail} is:unread`)
                          if (printermessages.length > 0) {
                            printermessages.forEach(function (m) {
                              let message = m.getMessages()
                              let lastmessage = message[message.length -1]
                              let body = lastmessage.getBody()
                              let attachments = lastmessage.getAttachments()
                              let workingthreads = workinglabel.getThreads()
                              if (workingthreads.length > 0) {
                                workingthreads.forEach(function (m) {
                                  m.reply(body, {
                                    attachments: attachments
                                  })
                                  m.removeLabel(workinglabel)
                                  m.addLabel(donelabel)
                                })
                              }
                              m.markRead()
                            })
                          }
                        }
                        

                        כמו שכתבת - זה יכול גם בטעות להחזיר את אותה תשובת מדפסת לכמה מיילים
                        אפשרי לעשות את זה כך שישיב על ראשון-ראשון - אולי לא במדויק אבל לפחות שישיב לכל הודעה בהודעה אחת.
                        אין לי כוח עכשיו (אולי @מוטי-אורן ירצה?)

                        בלוג

                        ג תגובה 1 תגובה אחרונה
                        6
                        • chvC chv

                          משהו כזה:

                          function redirect() {
                            let printerEmail = 'hppppppp@mail.com' // מייל של המדפסת
                            let forwardlabel = GmailApp.getUserLabelByName('forward') // שם של תווית - העברה למדפסת
                            let workinglabel = GmailApp.getUserLabelByName('working') // שם של תווית - עובד על זה
                            let donelabel = GmailApp.getUserLabelByName('done') // שם של תווית - בוצע
                            let forwardmessages = forwardlabel.getThreads()
                            if (forwardmessages.length > 0) {
                              forwardmessages.forEach(function (m) {
                                let message = m.getMessages()[0]
                                let subject = message.getSubject()
                                let body = message.getBody()
                                let attachments = message.getAttachments()
                                MailApp.sendEmail(printerEmail, subject, '', {
                                  htmlBody: body,
                                  attachments: attachments
                                })
                                m.removeLabel(forwardlabel) // מסיר את תווית העברה
                                m.addLabel(workinglabel) // מוסיף תווית עובד על זה
                              })
                            }
                            let printermessages = GmailApp.search(`from:${printerEmail} is:unread`)
                            if (printermessages.length > 0) {
                              printermessages.forEach(function (m) {
                                let message = m.getMessages()
                                let lastmessage = message[message.length -1]
                                let body = lastmessage.getBody()
                                let attachments = lastmessage.getAttachments()
                                let workingthreads = workinglabel.getThreads()
                                if (workingthreads.length > 0) {
                                  workingthreads.forEach(function (m) {
                                    m.reply(body, {
                                      attachments: attachments
                                    })
                                    m.removeLabel(workinglabel)
                                    m.addLabel(donelabel)
                                  })
                                }
                                m.markRead()
                              })
                            }
                          }
                          

                          כמו שכתבת - זה יכול גם בטעות להחזיר את אותה תשובת מדפסת לכמה מיילים
                          אפשרי לעשות את זה כך שישיב על ראשון-ראשון - אולי לא במדויק אבל לפחות שישיב לכל הודעה בהודעה אחת.
                          אין לי כוח עכשיו (אולי @מוטי-אורן ירצה?)

                          ג מנותק
                          ג מנותק
                          גבאי
                          כתב ב נערך לאחרונה על ידי
                          #29

                          @chv באמת כל הכבוד לך וסליחה שאני מתיש אותך.
                          אבל לפי מה שזה נראה חסר פה את השלב של השבת ההודעות של המדפסת לשולח. (עכ"פ אני לא רואה את התווית "תשובה מהמדפסת")

                          chvC תגובה 1 תגובה אחרונה
                          0
                          • ג גבאי

                            @chv באמת כל הכבוד לך וסליחה שאני מתיש אותך.
                            אבל לפי מה שזה נראה חסר פה את השלב של השבת ההודעות של המדפסת לשולח. (עכ"פ אני לא רואה את התווית "תשובה מהמדפסת")

                            chvC מנותק
                            chvC מנותק
                            chv
                            כתב ב נערך לאחרונה על ידי
                            #30

                            @גבאי אתה מתכוין השלב של קבלת כל ההודעות מהמדפסת - שעוד לא טופלו - לסקריפט
                            זה קורה בשורה 21
                            אין עניין בעבודה מול תווית. מקבלים אותם בצורה של חיפוש בגימייל על פי הכלל של מאת:המייל של המדפסת, ורק הודעות שלא נקראו
                            לאחר הטיפול (כלומר השליחה של תוכן ההודעה כתשובה להודעות המקוריות) ההודעה מהמדפסת מסומנת כנקראה כך שלא תטופל בריצה הבאה של הסקריפט

                            בלוג

                            ג תגובה 1 תגובה אחרונה
                            5
                            • chvC chv

                              @גבאי אתה מתכוין השלב של קבלת כל ההודעות מהמדפסת - שעוד לא טופלו - לסקריפט
                              זה קורה בשורה 21
                              אין עניין בעבודה מול תווית. מקבלים אותם בצורה של חיפוש בגימייל על פי הכלל של מאת:המייל של המדפסת, ורק הודעות שלא נקראו
                              לאחר הטיפול (כלומר השליחה של תוכן ההודעה כתשובה להודעות המקוריות) ההודעה מהמדפסת מסומנת כנקראה כך שלא תטופל בריצה הבאה של הסקריפט

                              ג מנותק
                              ג מנותק
                              גבאי
                              כתב ב נערך לאחרונה על ידי גבאי
                              #31

                              @chv לא נעים לי כבר להטריד
                              אבל משהו לא עובד לי
                              ההודעה מקבלת תווית "להדפסה" נשלחת למייל של המדפסת ומקבלת במקום זה תווית "עובד על זה" ומשם ואילך הוא חוזר ושולח את ההודעה של המדפסת שוב ושוב למדפסת במקום להחזיר לשולח. וגם לא מקבל תווית בוצע ולא מסמן אותה כ"נקרא".

                              chvC תגובה 1 תגובה אחרונה
                              0
                              • ג גבאי

                                @chv לא נעים לי כבר להטריד
                                אבל משהו לא עובד לי
                                ההודעה מקבלת תווית "להדפסה" נשלחת למייל של המדפסת ומקבלת במקום זה תווית "עובד על זה" ומשם ואילך הוא חוזר ושולח את ההודעה של המדפסת שוב ושוב למדפסת במקום להחזיר לשולח. וגם לא מקבל תווית בוצע ולא מסמן אותה כ"נקרא".

                                chvC מנותק
                                chvC מנותק
                                chv
                                כתב ב נערך לאחרונה על ידי chv
                                #32

                                @גבאי צודק צודק.. טעות שלי בקוד (הטעות היא בשימוש ב m גם בפונקציה הפנימית שבשורה 30, היא מכילה בעצם את ההודעה של המדפסת. במקום הודעה מתוך המערך של הודעות עם תווית 'עובד על זה')
                                הקוד הזה אמור לעבוד (ואמור לכאורה לעבוד בצורה של 'על ראשון-ראשון')

                                function redirect() {
                                  let printerEmail = 'hppppppp@mail.com' // מייל של המדפסת
                                  let forwardlabel = GmailApp.getUserLabelByName('forward') // שם של תווית - העברה למדפסת
                                  let workinglabel = GmailApp.getUserLabelByName('working') // שם של תווית - עובד על זה
                                  let donelabel = GmailApp.getUserLabelByName('done') // שם של תווית - בוצע
                                  let forwardmessages = forwardlabel.getThreads()
                                  if (forwardmessages.length > 0) {
                                    forwardmessages.forEach(function (m) {
                                      let message = m.getMessages()[0]
                                      let subject = message.getSubject()
                                      let body = message.getBody()
                                      let attachments = message.getAttachments()
                                      MailApp.sendEmail(printerEmail, subject, '', {
                                        htmlBody: body,
                                        attachments: attachments
                                      })
                                      m.removeLabel(forwardlabel) // מסיר את תווית העברה
                                      m.addLabel(workinglabel) // מוסיף תווית עובד על זה
                                    })
                                  }
                                  let printermessages = GmailApp.search(`from:${printerEmail} is:unread`)
                                  if (printermessages.length > 0) {
                                    printermessages.forEach(function (w) {
                                      let message = w.getMessages()
                                      let lastmessage = message[message.length - 1]
                                      let body = lastmessage.getBody()
                                      let attachments = lastmessage.getAttachments()
                                      let lastworkingthread = workinglabel.getThreads()[0]
                                      lastworkingthread.reply(body, {
                                        attachments: attachments
                                      })
                                      lastworkingthread.removeLabel(workinglabel)
                                      lastworkingthread.addLabel(donelabel)
                                      w.markRead()
                                    })
                                  }
                                }
                                

                                בלוג

                                ג תגובה 1 תגובה אחרונה
                                4
                                • chvC chv

                                  @גבאי צודק צודק.. טעות שלי בקוד (הטעות היא בשימוש ב m גם בפונקציה הפנימית שבשורה 30, היא מכילה בעצם את ההודעה של המדפסת. במקום הודעה מתוך המערך של הודעות עם תווית 'עובד על זה')
                                  הקוד הזה אמור לעבוד (ואמור לכאורה לעבוד בצורה של 'על ראשון-ראשון')

                                  function redirect() {
                                    let printerEmail = 'hppppppp@mail.com' // מייל של המדפסת
                                    let forwardlabel = GmailApp.getUserLabelByName('forward') // שם של תווית - העברה למדפסת
                                    let workinglabel = GmailApp.getUserLabelByName('working') // שם של תווית - עובד על זה
                                    let donelabel = GmailApp.getUserLabelByName('done') // שם של תווית - בוצע
                                    let forwardmessages = forwardlabel.getThreads()
                                    if (forwardmessages.length > 0) {
                                      forwardmessages.forEach(function (m) {
                                        let message = m.getMessages()[0]
                                        let subject = message.getSubject()
                                        let body = message.getBody()
                                        let attachments = message.getAttachments()
                                        MailApp.sendEmail(printerEmail, subject, '', {
                                          htmlBody: body,
                                          attachments: attachments
                                        })
                                        m.removeLabel(forwardlabel) // מסיר את תווית העברה
                                        m.addLabel(workinglabel) // מוסיף תווית עובד על זה
                                      })
                                    }
                                    let printermessages = GmailApp.search(`from:${printerEmail} is:unread`)
                                    if (printermessages.length > 0) {
                                      printermessages.forEach(function (w) {
                                        let message = w.getMessages()
                                        let lastmessage = message[message.length - 1]
                                        let body = lastmessage.getBody()
                                        let attachments = lastmessage.getAttachments()
                                        let lastworkingthread = workinglabel.getThreads()[0]
                                        lastworkingthread.reply(body, {
                                          attachments: attachments
                                        })
                                        lastworkingthread.removeLabel(workinglabel)
                                        lastworkingthread.addLabel(donelabel)
                                        w.markRead()
                                      })
                                    }
                                  }
                                  
                                  ג מנותק
                                  ג מנותק
                                  גבאי
                                  כתב ב נערך לאחרונה על ידי
                                  #33

                                  @chv עדין לא עובד (הפעם שולח שוב את ההודעה להדפסה, מקודם זה היה שולח למדפסת חזרה את ההודעה שהיא שלחה,) כל השאר אותו דבר
                                  (אם כבר אתה מטפל שוב בקוד..........
                                  יש לי אתגר בשבילך
                                  אולי אפשר לשדרג את הקוד שאם אני יכתוב בשורת הנושא מספר הוא ישלח להדפסה כמה פעמים כפי המספר שמופיע (הרבה פעמים אני צריך להדפיס כמה פעמים ובשביל זה אני שולח את ההודעה שוב ושוב) )

                                  chvC תגובה 1 תגובה אחרונה
                                  0
                                  • ג גבאי

                                    @chv עדין לא עובד (הפעם שולח שוב את ההודעה להדפסה, מקודם זה היה שולח למדפסת חזרה את ההודעה שהיא שלחה,) כל השאר אותו דבר
                                    (אם כבר אתה מטפל שוב בקוד..........
                                    יש לי אתגר בשבילך
                                    אולי אפשר לשדרג את הקוד שאם אני יכתוב בשורת הנושא מספר הוא ישלח להדפסה כמה פעמים כפי המספר שמופיע (הרבה פעמים אני צריך להדפיס כמה פעמים ובשביל זה אני שולח את ההודעה שוב ושוב) )

                                    chvC מנותק
                                    chvC מנותק
                                    chv
                                    כתב ב נערך לאחרונה על ידי
                                    #34

                                    @גבאי אוייש... צודק עשיתי את הטעות הקודמת.. עוד פעם
                                    תיקנתי את הקוד בהודעה האחרונה האם עכשיו עובד?

                                    בלוג

                                    אהרן שובקסא תגובה 1 תגובה אחרונה
                                    2
                                    • chvC chv

                                      @גבאי אוייש... צודק עשיתי את הטעות הקודמת.. עוד פעם
                                      תיקנתי את הקוד בהודעה האחרונה האם עכשיו עובד?

                                      אהרן שובקסא מנותק
                                      אהרן שובקסא מנותק
                                      אהרן שובקס
                                      מדריכים
                                      כתב ב נערך לאחרונה על ידי אהרן שובקס
                                      #35

                                      @chv
                                      יש אפשרות לשלוח מייל ולשנות את המייל השולח למייל אחר?
                                      כי אם כן יש לי איזה רעיון בשבילך
                                      עריכה: או שאפשר לתת לכל מייל תווית עם המייל של הבן אדם השולח (השאלה אם זה לא יקריס את המייל מרוב תוויות)

                                      צור קשר: admin@shuvax.com

                                      chvC תגובה 1 תגובה אחרונה
                                      0
                                      • אהרן שובקסא אהרן שובקס

                                        @chv
                                        יש אפשרות לשלוח מייל ולשנות את המייל השולח למייל אחר?
                                        כי אם כן יש לי איזה רעיון בשבילך
                                        עריכה: או שאפשר לתת לכל מייל תווית עם המייל של הבן אדם השולח (השאלה אם זה לא יקריס את המייל מרוב תוויות)

                                        chvC מנותק
                                        chvC מנותק
                                        chv
                                        כתב ב נערך לאחרונה על ידי
                                        #36

                                        @אהרן-שובקס אמר בבקשה ! עזרה בכתיבת קוד לג'ימיל להעברת הודעות מייל:

                                        יש אפשרות לשלוח מייל ולשנות את המייל השולח למייל אחר

                                        לא, אפשר לשלוח רק מהכתובת שלך, כמובן. או מכתובות שהגדרת שאפשר לשלוח דרכם ("שלח כ-")

                                        אפשר לתת לכל מייל תווית עם המייל של הבן אדם השולח

                                        לא זה ולא האפשרות הקודמת יעזרו.
                                        כי כמו שהוא כתב - המיילים מהמדפסת לא מגיעים כתשובה אלא כמייל נפרד ולא מכילים שום אינפורמציה לגבי איזו הודעה הם נשלחו

                                        @גבאי מעניין אותי אם הקוד שתיקנתי עובד?

                                        בלוג

                                        ג אהרן שובקסא 6 תגובות תגובה אחרונה
                                        3
                                        • chvC chv

                                          @אהרן-שובקס אמר בבקשה ! עזרה בכתיבת קוד לג'ימיל להעברת הודעות מייל:

                                          יש אפשרות לשלוח מייל ולשנות את המייל השולח למייל אחר

                                          לא, אפשר לשלוח רק מהכתובת שלך, כמובן. או מכתובות שהגדרת שאפשר לשלוח דרכם ("שלח כ-")

                                          אפשר לתת לכל מייל תווית עם המייל של הבן אדם השולח

                                          לא זה ולא האפשרות הקודמת יעזרו.
                                          כי כמו שהוא כתב - המיילים מהמדפסת לא מגיעים כתשובה אלא כמייל נפרד ולא מכילים שום אינפורמציה לגבי איזו הודעה הם נשלחו

                                          @גבאי מעניין אותי אם הקוד שתיקנתי עובד?

                                          ג מנותק
                                          ג מנותק
                                          גבאי
                                          כתב ב נערך לאחרונה על ידי
                                          #37

                                          @chv אני הרגע בדקתי
                                          וזה לא עובד
                                          הוא שולח שוב ושוב את ההודעה למדפסת

                                          תגובה 1 תגובה אחרונה
                                          0

                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • חוקי הפורום
                                          • פופולרי
                                          • לא נפתר
                                          • משתמשים
                                          • חיפוש גוגל בפורום
                                          • צור קשר