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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. גומלין - כללי
  3. בקשה: גוגל סקריפט להעברת מיילים לפי תווית

בקשה: גוגל סקריפט להעברת מיילים לפי תווית

מתוזמן נעוץ נעול הועבר גומלין - כללי
9 פוסטים 4 כותבים 527 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מעמד מוצלחמ מנותק
    מעמד מוצלחמ מנותק
    מעמד מוצלח
    כתב ב נערך לאחרונה על ידי dovid
    #1

    https://tchumim.com/topic/10610/סקריפט-גוגל-להגדרת-כתובת-להעברה

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

    צבי-שצ אבייא 2 תגובות תגובה אחרונה
    0
    • צבי-שצ מחובר
      צבי-שצ מחובר
      צבי-ש
      השיב למעמד מוצלח ב נערך לאחרונה על ידי
      #2

      @מעמד-מוצלח כתב בקוד גוגל סקריפט להעברת מיילים לפי תווית:

      https://tchumim.com/topic/10610/סקריפט-גוגל-להגדרת-כתובת-להעברה

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

      כתבת בקטגוריית תכנות, לא בקטגוריית דרושים,
      אני מניח שהתחלת לתכנת את זה?
      איזה שפה חשבת לעשות את זה?
      מה התחלת לעשות?
      מה יש לך?
      איפה נתקעת?

      כיף לגלות דברים חדשים.
      חוק ה-50-50-90: בכל פעם שיש סיכוי של 50-50 שמשהו יעבוד, יש סיכוי של 90 אחוז שהוא לא. מקור

      תגובה 1 תגובה אחרונה
      3
      • מעמד מוצלחמ מנותק
        מעמד מוצלחמ מנותק
        מעמד מוצלח
        כתב ב נערך לאחרונה על ידי
        #3

        אני רוצה בגוגל סקריפט , לא התחלתי

        תגובה 1 תגובה אחרונה
        0
        • אבייא מנותק
          אבייא מנותק
          אביי
          השיב למעמד מוצלח ב נערך לאחרונה על ידי אביי
          #4

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

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

          // Forwards The Emails By abaye
          
          const label = 'move';
          const email = 'email@gmail.com';
          
          function sendEmails() {
            let threads = GmailApp.search(`label:${label}`);
          
            threads.forEach(thread => {
              let messages = thread.getMessages();
          
              messages.forEach(message => {
                let senderName = message.getFrom();
                let subject = message.getSubject();
                let body = message.getPlainBody();
                let attachments = message.getAttachments();
          
                let emailContent = `שולח ההודעה: ${senderName}\nהנושא: ${subject}\n\nתוכן ההודעה:\n${body}`;
          
                GmailApp.sendEmail(
                  email,
                  `Fwd: ${subject}`,
                  emailContent,
                  {
                    attachments: attachments,
                    name: "הועבר מהמייל של מוישי"
                  }
                );
              });
            });
          }
          

          ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
          הלינקיה שלי https://abaye.co/link.html

          אבייא צדיק תמיםצ מעמד מוצלחמ 3 תגובות תגובה אחרונה
          4
          • אבייא מנותק
            אבייא מנותק
            אביי
            השיב לאביי ב נערך לאחרונה על ידי אביי
            #5

            וקצת שיעורי בית, שיהיה לך גם משהו לעשות...

            לאחרונה שמתי לב שבהודעות מהסוג הזה (ולא, אל תשאלו מה זה הסוג הזה, עדיין לא ירדתי לחקר הדבר, אבל בהודעות שנשלחות באמצעות הספריות של גוגל סקריפט) ההודעות בעברית מגיעות מוצגות כltr, מה שמשבש את התצוגה ומציק בעין, אפשר לסדר את זה בקלות ע"י הטעמעה של תוכן ההודעה כhtml, משהו כזה:

            let textHtml = `<div dir='rtl'>"${content}"</div>`;
            

            אתה צריך להכניס את זה כפרמטר בעת שליחת ההודעה

            ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
            הלינקיה שלי https://abaye.co/link.html

            תגובה 1 תגובה אחרונה
            2
            • צדיק תמיםצ מנותק
              צדיק תמיםצ מנותק
              צדיק תמים
              השיב לאביי ב נערך לאחרונה על ידי
              #6

              @אביי כתב בקוד גוגל סקריפט להעברת מיילים לפי תווית:

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

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

              const cache = CacheService.getScriptCache();
              const messages = thread.getMessages();
              const newMessages = messages.filter(massage => {
                  const msgId = massage.getId();
                  const isAlreadySent = cache.get(msgId);
                  return !isAlreadySent;
              });
              

              אפשר לשפר את הביצועים על ידי שימוש בgetAll

              Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
              טיפים

              אבייא תגובה 1 תגובה אחרונה
              2
              • אבייא מנותק
                אבייא מנותק
                אביי
                השיב לצדיק תמים ב נערך לאחרונה על ידי
                #7

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

                ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
                הלינקיה שלי https://abaye.co/link.html

                תגובה 1 תגובה אחרונה
                2
                • מעמד מוצלחמ מנותק
                  מעמד מוצלחמ מנותק
                  מעמד מוצלח
                  השיב לאביי ב נערך לאחרונה על ידי
                  #8

                  @אביי תודה רבה שמיש ביותר.

                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD dovid העביר נושא זה מ-תכנות ב-
                  • מעמד מוצלחמ מנותק
                    מעמד מוצלחמ מנותק
                    מעמד מוצלח
                    כתב ב נערך לאחרונה על ידי מעמד מוצלח
                    #9

                    למעשה זה הקוד שיצא לי בסוף
                    כמה דברים שהיו חשובים לי ,

                    א.ששם השולח יגיע באותו שם , הגם שזה נשלח ממני.

                    ב.שלא יהיה את סימן של הועברה (Fwd:‏)

                    ג. שהנושא יהיה אותו דבר בדיוק ללא סימנים מיותרים

                    ד. ניתן לשלוח לכמה כתובות במקביל

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

                    function cleanAndForwardMessages(senderEmail) {
                      var sourceLabelName = "vad";
                      var recipients = ["76@gmail.com", "60@gmail.com", "raeli@gmail.com"];
                      var threads = GmailApp.getUserLabelByName(sourceLabelName).getThreads();
                      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];
                          var originalSender = message.getFrom();
                          var subject = message.getSubject();
                          subject = subject.replace(/^Fwd:\s*/i, "");
                          var customSenderName = "בע״מ"; // שם השולח 
                          for (var k = 0; k < recipients.length; k++) {
                            var options = {
                              to: recipients[k],
                              subject: subject,
                              body: "Original sender: " + originalSender + "\n\n" + message.getBody(),
                              name: customSenderName,
                              from: senderEmail,
                            };
                            message.forward(recipients[k], options);
                          }
                          threads[i].removeLabel(GmailApp.getUserLabelByName(sourceLabelName));
                        }
                      }
                    }
                    
                    תגובה 1 תגובה אחרונה
                    1

                    בא תתחבר לדף היומי!
                    • התחברות

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

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