שיתוף | מייל לפלאפון הכשר
-
@מנצפכ אני הייתי ממליץ להוסיף בהדרכה בהתחלה שאחרי שגומרים ליצור את המערכת ולהירשם לרשימת צינתוקים להוסיף בשלוחה הראשית את ההגדרה הזאת:
go_to_from_tzintuk=yes check_list_tzintuk=123 go_to_from_tzintuk_found=in_extension go_to_from_tzintuk_not_found=hangup
וכמובן להחליף בשורה 2 לשם רשימת הצינתוקים שבחרתם
כדי שאחרים לא יוכלו לשמוע את המיילים שלכם -
@אבוב @אנא
למה לא להגדיר סיסמה בצורה הרגילה וזהו, בסה"כ צריך להוסיף שורה אחת בתפריט הראשיpassword=1234
ואם תרצו שמהמספר הרגיל שאתם מתקשרים ממנו תוכלו להכנס בלי סיסמה אפשר פשוט להגדיר בלשונית הראשית של אתר הניהול (הגדרות משתמש) סיסמת גישה שחלה על כל הטלפונים חוץ משל המנהל בלי להגדיר שום דבר נוסף במערכת
-
function mailToPhone() { const number = '07********'; const pass = '******'; const extension = '1'; const tzl = '123'; const tag = 'נשלח לפלאפון'; const searchwording = 'is: inbox'; const cnsender = 'הודעה מאת'; const cnsubject = ' ,נושא,'; const cnbody = 'גוף ההודעה'; const cnend = '. סוף ההודעה'; const url = ('https://www.call2all.co.il/ym/api/'); const token = (number + ':' + pass); const path = ('ivr2:' + extension + '/'); const listTzintuk = ('tzl:' + tzl); const label = GmailApp.getUserLabelByName(tag); let didUpload = false chechForGmails() function chechForGmails() { const threads = GmailApp.search(searchwording + ' newer_than:1h -{label:' + tag + '}'); for (const thread of threads) { const messages = thread.getMessages(); const minuteAgo = new Date(Date.now() - 60000); if (thread.getLastMessageDate() > minuteAgo) { for (const message of messages) { if (message.getDate() > minuteAgo) { const result = sendToYemot(message); didUpload = result || didUpload; } } thread.addLabel(label); } else { const result = sendToYemot(messages[messages.length - 1]); didUpload = result || didUpload; thread.addLabel(label); } if(didUpload === true){ const tzintuk = UrlFetchApp.fetch(`${url}RunTzintuk?token=${token}&phones=${listTzintuk}`); Logger.log(tzintuk) } } function sendToYemot (message) { const subjectTranslate = LanguageApp.translate(message.getSubject(), '', 'iw') ; const bodyTranslate = LanguageApp.translate(message.getPlainBody(), '', 'iw') ; const ttsStringSimple = `${cnsender}. ${message.getFrom()}. ${cnsubject}. ${subjectTranslate}. ${cnbody}. ${bodyTranslate}`; const ttsString1 = ttsStringSimple.replace(new RegExp (/(?:(?:https?|ftp):\/\/|\b(?:[a-z\d]+\.))(?:(?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))?\))+(?:\((?:[^\s()<>]+|(?:\(?:[^\s()<>]+\)))?\)|[^\s`!()[]{};:'".,<>?«»“”‘’]))?/, 'g',), ' '); const ttsString2 = ttsString1.replace(new RegExp (/"|>|<|\*|\)|\(|`/, 'g',), ''); const ttsString3 = ttsString2.replace(new RegExp(/@|\n|-/, 'g',), ' '); const ttsString4 = ttsString3.replace(new RegExp(/\s{2,}/, 'g',), ' '); const ttsString = ttsString4.substring(0,2200) + cnend Logger.log({ ttsString }); const directoryListing = JSON.parse(UrlFetchApp.fetch(`${url}GetIVR2Dir?token=${token}&path=${path}`)); Logger.log(directoryListing) if (directoryListing.responseStatus === 'OK') { const lastFileName = directoryListing.files .filter(file => file.fileType === 'AUDIO' || file.fileType === 'TTS') .map(file => file.name.split('.')[0]) .find(fileName => !isNaN(fileName)); const newFileNumber = Number(lastFileName || -1) + 1; const newFileName = newFileNumber.toString().padStart(3, '0'); const newFilePath = `${path}${newFileName}.tts`; const payload = { token, what: newFilePath, contents: ttsString }; const uploadResult = JSON.parse(UrlFetchApp.fetch(url + 'UploadTextFile?', { payload })); return uploadResult.responseStatus === 'OK'; } } }}
כמובן קרדיט ל @מנצפכ
-
@מנצפכ יש אפשרות לבנות את הקוד באופן שמי שמריץ את הקוד לא יוכל לדעת מה הסיסמה של המערכת?
[הרעיון בזה, שבמקום לעשות לכל אחד עבודה כפולה, גם לפתוח מערכת וגם להריץ את הסקריפט, תהיה מערכת שבא יהיה מוגדר לכל מספר פלאפון שלוחה, שבשלוחה 1 הוא מקבל מיילים, בשלוחה 2 שולח מיילים, שלוחה 3 הוא מאשר צינטוקים [שהמספר הצינטוק הוא מספר הפלאפון שלו] ובסקריפט הוא רק צריך להזין את המספר שלו, וזה ישמש גם לרשימת צינטוקים גם למספר שלוחה לשם ישלח המיילים.
הבעיה בכזה דבר, שאם כל אחד יכול לראות את הקוד של המערכת, זה לא שווה כלום, כ"א יכול לאפס לראות מיילים כו'.
יש מצב לעשות שלא יוכלו לראות את הסיסמה של המערכת? -
@ישראל10 אמר במדריך | שליחת צינתוק ונוסח הודעת המייל לפלאפון בעת קבלת מייל חדש:
@מנצפכ יש אפשרות לבנות את הקוד באופן שמי שמריץ את הקוד לא יוכל לדעת מה הסיסמה של המערכת?
כמובן שלא, אין לקוד דרך להגיע לנתונים במערכת ללא סיסמה
לפחות בצורה הנוכחית שזה עובד עם מודול קבלת נתונים זה לא אפשרי
אגב גם אם זה היה אפשרי, בסוף למישהו היה את הסיסמה של המערכת וגישה למיילים של כולם
אני לא הייתי מעוניין בכזה דבר רק בשביל לחסוך כמה דקות של טרחה -
עדכון גירסה 4.1, תיקנתי את ההתקנה האוטומטית והוספתי אבטחה בחיוג למערכת.
להתקנת הסקריפט יש ללחוץ על הקישור המצורף, ולאשר יצירת עותק של הקובץ להזין את הפרטים הנצרכים, וללחוץ על כפתור ההתקנה.
https://docs.google.com/spreadsheets/d/1CuMfGMHbdymIMQCQJwX68jjSWalHs9LwE_VTeyxE56E/copy?usp=sharing -
@מנצפכ אמר במדריך | שליחת צינתוק ונוסח הודעת המייל לפלאפון בעת קבלת מייל חדש:
שימו לב
אם לא קיבלתם הודעה קופצת בצד שמאל למטה שהסקריפט הופעל - הסקריפט לא הופעל ויש להפעילו שובאני לא מצליח לקבל הודאה בצד שמאל, ולמעשה אני לא מצליח להתחבר לקבל מיילים לטלפון, מה אני יכול לעשות?
-
פוסט זה נמחק!
-
העליתי כאן פוסט עם הסבר מפורט
https://tchumim.com/topic/13820/שליחת-וקבלת-מיילים-באמצעות-הטלפון-הכשר-בחינם-abaye-מדריך-מפורט-מתעדכןכמו"כ כמו שכבר כתבתי הוספתי אפשרות לשליחת תשובות באותה שיחה.
-
@אביי תודה רבה
תוכל אולי לפרט את מספרי השלוחה והגדרותיו בקו של ימות כדי שנוכל להגדיר לבד את ההגדרות בקו
(מכיון שהקו משמש לי לעוד צרכים ושלוחות רבות )
וכן איך אני מוריד מהסקריפט את הפעולה שחוסמת מספרים אחרים להכנס
מכיון שאני מגדיר את זה לבד ע"י הפניות לפי רשימות תפוצה (check_template_filter)
בתודה עוד פעם על ההשקעה ההדירה