- הוסף לסימניות
- #21
ואחרי ששמרת לא הופיעה לך למעלה הפונקציה checkGmailAndNotify?
לאואחרי ששמרת לא הופיעה לך למעלה הפונקציה checkGmailAndNotify?
משום מה כל הצילומי מסך עדיין חסומים בנטפרי, אם תוכל תעלה אותם בזיפלא
תראה בצלילומי מסך
@צל של עצמומשום מה כל הצילומי מסך עדיין חסומים בנטפרי, אם תוכל תעלה אותם בזיפ
function forwardUnreadEmailsSimple() {
var threads = GmailApp.search('is:unread');
var targetEmail = "כאן תכתבו את המייל שלך - בתוך הגרשיים";
for (var i = 0; i < threads.length; i++) {
GmailApp.sendEmail(targetEmail, "הגיע מייל חדש", "");
threads[i].markRead();
}
}
@הבזק של שפיותאם עדיין לא עבד לך, תנסה את זה:
תעשה את זה בדרייב של החשבון ממנו אתה שולח את המיילים (החשבון המשני שלך), ותשנה בקוד רק את הכתובת אליה תרצה לשלוח את המיילים (החשבון הראשי שלך).
טריגרים אתה יודע לעשות, נכון?
קוד:function forwardUnreadEmailsSimple() { var threads = GmailApp.search('is:unread'); var targetEmail = "כאן תכתבו את המייל שלך - בתוך הגרשיים"; for (var i = 0; i < threads.length; i++) { GmailApp.sendEmail(targetEmail, "הגיע מייל חדש", ""); threads[i].markRead(); } }
@צל של עצמואיפה שמסומןבחץ אדום תלחץ ושם תבחר את הפונקציה הנ"לצפה בקובץ המצורף 1967934
אני עובר שוב, ועכשיו תפסתי מה הבעיה, כל הפונקציה שאני הבאתי לך נמצאת בתוך הפונקציה myFunctiom
בקיצור אפשר למחוק הכל ולהעתיק את זהאני עובר שוב, ועכשיו תפסתי מה הבעיה, כל הפונקציה שאני הבאתי לך נמצאת בתוך הפונקציה myFunctiom
אם כן הפיתרון פשוט, תמחק את השורה הראשונה, וגם את הסוגר האחרון "{" שבסוף המסמך.
/**
* בודק אם יש מיילים חדשים בחשבון Gmail ושולח התראה לחשבון Gmail ראשי.
*
* הפונקציה הזו מוגדרת להפעלה על ידי טריגר מבוסס זמן. היא בודקת את
* תיבת הדואר הנכנס של חשבון Gmail שאליו מחובר הסקריפט, ואם יש הודעה שלא נקראה,
* היא שולחת מייל התראה לחשבון Gmail ראשי, ומסמנת את ההודעה כנקראה.
*/
function checkGmailAndNotify() {
// 1. הגדר את כתובת המייל הראשית
const primaryEmail = ''; // החלף בכתובת ה-Gmail הראשית שלך
const emailSubject = 'התקבלה הודעה חדשה בג\'ימייל';
const emailBody = 'התקבלה הודעה חדשה בתיבת הדואר הנכנס שלך. אנא בדוק את תיבת הדואר הנכנס שלך.';
// 2. התחבר לתיבת הדואר הנכנס
const threads = GmailApp.getInboxThreads(0, 1); // מקבל את ה-thread האחרון בלבד.
// 3. בדוק אם יש הודעות
if (threads.length > 0) {
const messages = threads[0].getMessages();
const lastMessage = messages[messages.length - 1]; // מקבל את ההודעה האחרונה.
// 4. בדוק אם ההודעה האחרונה לא נקראה
if (!lastMessage.isUnread()) {
Logger.log('ההודעה האחרונה כבר נקראה.');
return; // יוצא מהפונקציה אם ההודעה נקראה.
}
else{
Logger.log('נמצאה הודעה חדשה שלא נקראה.');
}
// 5. שלח מייל התראה לחשבון הג'ימייל הראשי
MailApp.sendEmail({
to: primaryEmail,
subject: emailSubject,
body: emailBody
});
Logger.log('נשלחה התראה ל' + primaryEmail);
// 6. סמן את ההודעה האחרונה כנקראה
lastMessage.markRead();
Logger.log('ההודעה סומנה כנקראה.');
}
else{
Logger.log('לא נמצאו הודעות בתיבת הדואר הנכנס.');
}
}
ברור, כדי שאם בין ריצה לריצה הוא קיבל 15 הודעות, הקוד לא ישלח לו 15 מיילים@צל של עצמו הקוד שלך קורא רק את ההודעה האחרונה, נכון?
אולי כדאי שתסביר לו את זה.
@צל של עצמו @הבזק של שפיותבקיצור אפשר למחוק הכל ולהעתיק את זה
JavaScript:/** * בודק אם יש מיילים חדשים בחשבון Gmail ושולח התראה לחשבון Gmail ראשי. * * הפונקציה הזו מוגדרת להפעלה על ידי טריגר מבוסס זמן. היא בודקת את * תיבת הדואר הנכנס של חשבון Gmail שאליו מחובר הסקריפט, ואם יש הודעה שלא נקראה, * היא שולחת מייל התראה לחשבון Gmail ראשי, ומסמנת את ההודעה כנקראה. */ function checkGmailAndNotify() { // 1. הגדר את כתובת המייל הראשית const primaryEmail = ''; // החלף בכתובת ה-Gmail הראשית שלך const emailSubject = 'התקבלה הודעה חדשה בג\'ימייל'; const emailBody = 'התקבלה הודעה חדשה בתיבת הדואר הנכנס שלך. אנא בדוק את תיבת הדואר הנכנס שלך.'; // 2. התחבר לתיבת הדואר הנכנס const threads = GmailApp.getInboxThreads(0, 1); // מקבל את ה-thread האחרון בלבד. // 3. בדוק אם יש הודעות if (threads.length > 0) { const messages = threads[0].getMessages(); const lastMessage = messages[messages.length - 1]; // מקבל את ההודעה האחרונה. // 4. בדוק אם ההודעה האחרונה לא נקראה if (!lastMessage.isUnread()) { Logger.log('ההודעה האחרונה כבר נקראה.'); return; // יוצא מהפונקציה אם ההודעה נקראה. } else{ Logger.log('נמצאה הודעה חדשה שלא נקראה.'); } // 5. שלח מייל התראה לחשבון הג'ימייל הראשי MailApp.sendEmail({ to: primaryEmail, subject: emailSubject, body: emailBody }); Logger.log('נשלחה התראה ל' + primaryEmail); // 6. סמן את ההודעה האחרונה כנקראה lastMessage.markRead(); Logger.log('ההודעה סומנה כנקראה.'); } else{ Logger.log('לא נמצאו הודעות בתיבת הדואר הנכנס.'); } }
@צל של עצמו @הבזק של שפיותאני לא מבין איפה הסתבכת, אתחיל מההתחלה:
תפתח את הדרייב במייל שממנו תרצה לשלוח (המייל המשני), בחר באפשרות "חדש", תחת הסיווג של "עוד" תבחר "גוגל אפס".
בחלון שיפתח תמחק את כל מה שכבר כתוב ואז תעתיק את הקוד שכתבתי לך בהודעה הקודמת, בתוך הגרשיים (איפה שכתבתי "כאן תכתוב את המייל שלך - בתוך הגרשיים"), תכתוב את כתובת המייל אליה אתה רוצה לשלוח את המיילים שהתקבלו - תמחק רק את המילים שכתבתי, אל תמחק את הגרשיים.
כדי לבדוק שזה עובד, (תשלח מייל לכתבת המשנית כדי שיהיה שם מייל שלא נקרא) תלחץ בסרגל למעלה על "הפעלה", הוא יבקש הרשאה ויריץ אותו.
אם הכל הלך טוב, תבנה את הטריגר.
תגדיר את הטריגר לכל דקה ולא לכל רבע שעה@צל של עצמו @הבזק של שפיות
שהחיינו, סוף סוף שלב ראשון הצליח, של שניכם אגב, כנראה שהטעות הייתה שלא עשיתי את מה שכתבת בהודעה אחרונה "בחלון שיפתח תמחק את כל מה שכבר כתוב". תכלס' שניהם הופעלו.
עכשיו נתקעתי בשלב 2 של הטריגר
אשמח בע"זה להדרכה מפורטת אחרונה ליצירת הטריגר (ניסיתי מה שכתבתם, לא הצליח), אם זה אפשרי אני רוצה שזה ישלח מידית ולא אחרי רבע שעה שהגיע מייל, בלאו הכי מדובר משולח אחד בלבד ששולח מייל בודד פעם ביום יומיים ואני צריך לדעת שהוא שלח מידית אם אפשר.
שוב תודה רבה רבה על כל ההשקעה
@צל של עצמותגדיר את הטריגר לכל דקה ולא לכל רבע שעה
תוסיף שם את הקוד הזה@צל של עצמו
תודה
אשמח אם תנחה אותי שוב על שלב זה באופן מדוייק, כי עשיתי מה שכתבת ליצירת טריגר וזה לא פועל, רק שלח מייל בהפעלה ראשונה בלבד לפני יצירת הטריגר ומאז אני מנסה וזה לא שולח בכלל
/**
* יוצר טריגר להפעלת הפונקציה checkGmailAndNotify כל דקה
*/
function createFifteenMinuteTrigger() {
try {
ScriptApp.newTrigger('checkGmailAndNotify')
.timeBased()
.everyMinutes(1)
.create();
Logger.log('נוצר טריגר להפעלה כל דקה');
} catch (error) {
Logger.log('שגיאה ביצירת הטריגר: ' + error.message);
}
}
rhon.co.il
מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!
חלה שגיאה בשליחה. נסו שוב!
לוח לימודים
מסלולי לימוד שאפשר להצטרף
אליהם ממש עכשיו:
תהילים פרק כה
אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
הנושאים החמים