מכיון שאני אישית כמה וכמה פעמים חיפשתי משהו בפורום וחפרתי הרבה בין בחיפוש גוגל בפורום ובין בחפירה בכל האזורים עד שמצאתי שהשם של התוכנה היה דומה או משהו כזה, חשבתי שאולי יש אפשרות שיהיה חיפוש חכם בפורום - כמובן ע"י בינה מלאכותית, אבל שתשב נטו על הפורום [כעין חיפוש גוגל בפורום, רק חכם יותר].
[לדוגמא קטנה שנתקלתי בה לאחרונה, הייתי צריך דפדפן נייד, ולא מצאתי הרבה, עד ששיניתי ל'גירסא ניידת', וכבר התקדמתי לעוד תוצאות...]
חיפשתי קצת בפורום ולא מצאתי מי שהעלה את הרעיון, אך הגיוני ומסתבר שדנו בנושא, אבל זו בדיוק הבעיה, כי אני לא מצאתי דיון על זה ע"י חיפוש בפורום, ואם היה חיפוש חכם אולי הייתי מוצא ברגע אם דיברו על זה...
וכמובן בכל אופן תודה רבה על הפורום המיוחד ועל כל ההשקעה לתועלת הציבור!!!
חיפשתי הרבה בפורום ולא מצאתי מדריך מפורט בענין, ישבתי הרבה עם GPT וחברים בעלי ידע בתחום והנה התוצאה לפניכם.
להלן מדריך פשוט לבניית סקריפט של הרשמה אוטומטית לרשימת תפוצה במייל - [לא קבוצות גוגל!] אלא תוית באנשי קשר, שכשתרצו לשלוח אימייל לקבוצה שנרשמה - פשוט תכתבו ב'נמען' את שם התוית ותשלחו לכולם.
בשני מילים מה הסקריפט עושה:
מחפש אימיילים שהתקבלו עם שורת נושא שהגדרתם מראש לדוגמא 'בקשת הצטרפות', שולף את הכתובת מייל שלו ומכניס אותו לאנשי קשר לתוית עם שם שתגדירו מראש.
למניעת שגיאות הכל נרשם אוטומטית בקובץ גוגל שיטס בדרייב שלכם.
ונשלח מייל חוזר על אישור הצטרפות לרשימת תפוצה - נוסח שהגדרתם מראש כמובן.
למניעת מיילים מיותרים בתיבה שלכם-כל אימייל של בקשת הצטרפות שמטופל-נמחק מיידית ועובר ל'אשפה' לא לפני שמסומן כ'נקרא'.
אז דבר ראשון תכנסו כמובן מהחשבון גוגל שממנו תרצו לנהל רשימת תפוצה, ותכנסו ל https://script.google.com/home תיצרו פרויקט חדש.
בשורת הקוד תמחקו הכל ותדביקו את הקוד הבא.
// שם קבוצת אנשי הקשר שיווצר אוטומטית בגוגל קונטקטס
const LABEL_NAME = "כאן תכתוב את שם הקבוצה באנשי קשר";
// מזהה הגיליון (Spreadsheet ID) – יש לקחת מה-URL של קובץ הגוגל שיטס
const SHEET_ID = "כאן תכניס את ה-ID של Google Sheets";
// שם הטאב (Sheet) בגיליון בו יישמרו הנרשמים
const SHEET_NAME = "כאן תכניס את שם הגיליון (Tab)";
// אימייל של מי שמריץ את הסקריפט (נלקח אוטומטית מהחשבון המחובר)
const SYSTEM_EMAIL = Session.getActiveUser().getEmail(); // מונע הוספה עצמית לרשימה
function processJoinRequests() {
// חיפוש מיילים שהתקבלו בתיבת הדואר הנכנס, בנושא מסוים, ב-24 השעות האחרונות
const threads = GmailApp.search('is:inbox "כאן יהיה כתוב נושא בקשת ההצטרפות האוטומטית" newer_than:1d');
// יצירת קבוצה באנשי קשר במידת הצורך
const label = getOrCreateLabel();
// פתיחת הגיליון והטאב הנכון
const sheet = getOrCreateSheet();
// שליפת רשימת אימיילים שכבר קיימים בגיליון כדי למנוע כפילויות
const existingEmails = getExistingEmails(sheet);
// מעבר על כל "שיחה" (Thread) שנמצאה
threads.forEach(thread => {
const messages = thread.getMessages(); // כל ההודעות בתוך השיחה
messages.forEach(message => {
const fromHeader = message.getFrom(); // שולף את השולח ("שם <email>")
const emailMatch = fromHeader.match(/<(.+?)>/); // שולף את כתובת האימייל מהסוגריים המשולשים
const email = emailMatch ? emailMatch[1] : fromHeader; // אם לא נמצא סוגריים – נשתמש בכל הטקסט
const name = fromHeader.replace(/<.+>/, "").trim(); // שולף את השם בלבד (ללא האימייל)
// סינון: לא להוסיף אם אין אימייל, אם זה אני עצמי, או שכבר נרשם בעבר
if (!email || email === SYSTEM_EMAIL || existingEmails.has(email)) return;
// יצירת איש קשר חדש או שליפה אם כבר קיים
const resourceName = getOrCreateContact(email, name);
// שיוך איש הקשר לקבוצת אנשי קשר שבחרנו
addContactToLabel(resourceName, label.resourceName);
// שליחת מייל אישור הצטרפות
sendConfirmation(email);
// הוספה לגיליון
sheet.appendRow([new Date(), email, name]);
// הוספה גם לרשימת המעקב בזיכרון כדי למנוע כפילויות בתוך אותה הרצה
existingEmails.add(email);
// סימון ההודעה כנקראה
message.markRead();
});
// מחיקת השיחה מהתיבה (מעביר לאשפה)
thread.moveToTrash();
});
}
function getOrCreateLabel() {
// שליפת כל קבוצות אנשי הקשר הקיימות
const groups = People.ContactGroups.list().contactGroups || [];
// חיפוש אם הקבוצה כבר קיימת
let label = groups.find(g => g.formattedName === LABEL_NAME);
// אם לא קיימת – ניצור קבוצה חדשה
if (!label) {
label = People.ContactGroups.create({
contactGroup: { name: LABEL_NAME }
});
}
return label;
}
function getOrCreateContact(email, name) {
// חיפוש אם איש קשר עם אותו אימייל כבר קיים באנשי הקשר של החשבון
const results = People.People.searchContacts({
query: email,
pageSize: 1,
readMask: "emailAddresses"
}).results;
// אם כבר קיים – נחזיר את מזהה האיש קשר (resourceName)
if (results && results.length > 0) {
return results[0].person.resourceName;
} else {
// אם לא – ניצור איש קשר חדש עם האימייל והשם
const newContact = People.People.createContact({
emailAddresses: [{ value: email }],
names: [{ displayName: name }]
});
return newContact.resourceName;
}
}
function addContactToLabel(resourceName, labelResourceName) {
// שיוך איש הקשר לקבוצת אנשי קשר (label)
People.ContactGroups.Members.modify({
resourceNamesToAdd: [resourceName]
}, labelResourceName);
}
function sendConfirmation(email) {
// שליחת מייל אישור הצטרפות עם עיצוב HTML
MailApp.sendEmail({
to: email,
subject: "כאן יהיה נושא מייל האישור – לדוגמה: ברוך הבא לרשימת התפוצה שלנו",
name: "כאן יופיע שם השולח – לדוגמה: מערכת עלון שבועי",
htmlBody: `
<div dir="rtl" style="font-family: Arial, sans-serif; background-color: #f9f9f9; padding: 24px; border-radius: 12px; border: 1px solid #e0e0e0; color: #333;">
<h2 style="color: #2e6c80; text-align: center;">כאן תכתוב את המלל שאתה רוצה שיהיה כתוב במייל החוזר על אישור ההצטרפות ל...</h2>
<p style="font-size: 16px;">
לדוגמה: תודה שהצטרפת לרשימת התפוצה של עלון 'XYZ'. מדי שבוע תקבלו תכנים נבחרים...
</p>
<p style="font-size: 16px;">
ניתן בכל עת להסיר את עצמך מהרשימה על ידי מענה למייל זה.
</p>
<p style="font-size: 16px; text-align: center;">
<strong>בברכה,<br>מערכת XYZ</strong>
</p>
</div>
`
});
}
function getOrCreateSheet() {
// פתיחת הגיליון לפי ה-ID
const ss = SpreadsheetApp.openById(SHEET_ID);
// ניסיון לפתוח את הטאב הקיים
let sheet = ss.getSheetByName(SHEET_NAME);
// אם הטאב לא קיים – ניצור אותו ונכניס כותרות
if (!sheet) {
sheet = ss.insertSheet(SHEET_NAME);
sheet.appendRow(["תאריך", "אימייל", "שם"]);
}
return sheet;
}
function getExistingEmails(sheet) {
// סריקת כל האימיילים הקיימים בעמודה השנייה (טור B) כדי למנוע כפילויות
const lastRow = sheet.getLastRow();
const emails = new Set();
if (lastRow <= 1) return emails; // אין נתונים מלבד הכותרת
const data = sheet.getRange(2, 2, lastRow - 1).getValues();
data.forEach(row => emails.add(row[0])); // הוספת כל אימייל לקבוצה
return emails;
}
בלשונית 'שירותים' תחפשו את השירותים הבאים ותפעילו אותם:
People API
בשלב זה או קודם המערכת תבקש אישורי אבטחה של גוגל, תאשרו הכל.
כעת תיצרו קובץ גוגל שיטס בדרייב שלכם, תקראו לו שם כרצונכם [לדוגמא 'רשימת מצטרפים'] ותעתיקו את כתובת הID של הקובץ ותכניסו בשורה השניה של הקוד.
תיכנסו לקוד ותכתבו בשורה הראשונה את שם התוית באנשי קשר, בשורה השלישית את שם הגיליון שהגדרתם בשיטס [לדוגמא 'רשימת מצטרפים'], בשורה 15 תכתוב את שורת הנושא במיילים [לדוגמא 'בקשת הצטרפות'], בשורה 112 והלאה תוכל לשנות את הטקסט במייל אישור ההצטרפות.
כעת נפעיל טריגר הפעלה, בצד ימין של גוגל סקריפט בלשונית 'מפעילים' נכנס לשם, ואז 'הוספת טריגר' - לא לשנות את הפקודה או משהו אחר, רק את לבחור האם טיימר שעות או דקות, ואז לבחור כל כמה זמן תרצו שהסקריפט ירוץ, רצוי כל 5 דקות כדי שהנרשמים יראו שזה אוטומטי.
בהצלחה.
כמובן שניתן לשנות את הקוד ולהתאים לצרכיכם האישיים על ידי הGPT ועוד, ולבקש ממנו שיוסיף פקודה או ישנה.
לי באופן אישי זה ממש התאים לכל מה שחיפשתי.
אשמח לקבל הערות והארות.
@יהודה-12 האמת שצדקתם.
לאחר שבוע שמילאתי באונקי 200 ג'יגה הוא לפתע החל לאבד קבצים וכו.
תודה לכל המסייעים.
אגב אחרי כל זה יש למישהו הצעה כיצד ניתן לסמוך על עלי אקספרס אם הוא כותב "מקורי סאנדיסק" וכמובן שיצא לי זול וכן במיקרו.
תודה רבה
בחשוון תשפ"ה האקרים חדרו לפורום ודרשו תשלום כופר, אך פרוג לא הסכימו לשלם, ושמו בכתובת של האתר הודעה, עם הכיתוב "תתפוצצו, לא נשלם", עם ציור של ביפר עליו כתוב פרוג, (בהשראת התפוצצות הביפרים של חיזבאללה).
עובד רגיל כל פעם.
כנראה קשור לקליטה שלך או משהו כזה.
אני מקווה שלא כל פעם שמישהו לא יצליח להיכנס שניה לאיזה אתר הוא יתחיל להרעיש עולם ומלואו ולהקפיץ את מחלקת הסייבר...
@ישראל-142 והנה העדכון
אכן האתר promeai עבר דומיין וכעת הוא בקישור הזה https://www.promeai.pro/
ונטפרי ברוך ה' בסוף פתחו את האתר
תיהנו...
רק מה שנשאר לבדוק זה האם החשבון הקודם וכל התמונות שיצרתי שם עברו לאתר החדש בינתיים נראה שלא אני מנסה בכל זאת לבדוק
@שעטנ-ז-ג-ץ פתחתי סקייפ במחשב, לחצתי על 'צור חשבון מיקרוסופט חדש', הכנסתי מייל שם גיל וכו', קיבלתי קישור אימות למייל, אישרתי, נפתח לי חשבון מייקרוסופט, נכנסתי, בצד שמאל כתבתי צאטים, הופיע לי 'בינג', לחצתי, הוא הביא לי מספר הודעות באנגלית, כתבתי לו שיכתוב לי בעברית ו----רגיל!!!
תבדוק, פשוט וקל!!!
בדקתי כבר פעמיים!!!
@זונדל זכור לי שהם טענו שעד 2023 כבר לא יהיה דמי קישוריות בכלל, וכל הקווי נייעס יסגרו, הם עשו קמפיין ענק על זה ובחודשים האחרונים הם שקטו לגמרי, מענין.
אגב, לפני כמה שנים גם כן ימות המשיח עשו קמפיין נוראי שהמדינה הולכת לסגור את כל הקווי נייעס ובסוף לא יצא מזה כלום.
@פייבל-אשרינו מה שידוע לי - בפרטנר, יש אופציה שאתה מתקשר למישהו ואז הוא עושה לך מנגינה ואחרי 2 דקות אומרים לך שהתהליך באמצע, לאחר כמה דקות מסתדר אוטומטית-בדוק!
אבל בהוט מובייל בד"כ זה יותר מסובך, תנסה...