מדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם
-
ב״ה הושלם פיתוח המודול עליו דובר כאן וכאן
עקב סוג של יאוש בנוגע לבניית אשף אוטומטי להגדרה אני יצרף כאן את ההגדרות לשלוחה:
שלב א׳ - הכנת המערכת הטלפונית
מומלץ מראש להשתמש במערכת טלפונית חדשה כי אנחנו צריכים להשתמש בכמה שלוחות שלא יוכלו לשמש לדברים אחרים.
- יש ליצור את שלוחות 1,2,3.
- למחוק את כל שאר השלוחות המיותרות במערכת.
- להגדיר כל אחת מהשלוחות כדלהלן:
שלוחה 1 (שליחת מיילים):
type=api api_link=http://XXXX/ymapi/email/ api_add_0=user=כתובת-המייל-שלכם-בגוגל api_add_1=password=סיסמת-החשבון api_add_2=name=כינוי-השולח api_hangup_send=no
הערה חשובה בנוגע לסיסמא,הסיסמא לא נשמרת אצלנו בשרת בשום אופן!
באם יש לחשבון שלכם אימות דו שלבי יש ליצור סיסמא לאפליקציה ואותה להזין בתור סיסמא.שלוחה 2 (שמיעת המיילים):
type=playfile
שלוחה 3 (ניהול הצינתוקים):
type=tzintuk list_tzintuk=1
שלב ב׳ - מתן הרשאות מגוגל
בכדי שאכן נוכל לשלוח את מיילים יש לתת כמה הרשאות:
- יש לחייג כעת למערכת שלכם, להכנס לשלוחה 1 ולנסות לשלוח מייל לעצמכם. השליחה תכשל ותושמע לכם הודעת שגיאה.
- יש להכנס לחשבון המייל שלכם, גוגל שלחה לכם מייל אזהרה על אפליקצייה לא מאובטחת, יש להכנס למייל ולאשר שאתם ניסיתם לגשת לחשבון.
- יש לאשר גישה זמנית לחשבון - לחץ כאן למעבר.
- יש לחייג חזרה למערכת שלכם ולנסות לשלוח מייל.
שלב ג׳ - שמיעת המיילים
קרדיט על השלב הזה לשאול ניו מפורום מתמחים
ניצור מסנן שכל מייל חדש שנכנס יקבל תווית שהסקריפט ירוץ עליו
איך עושים את זה? ובכן,
כשנכנסים למייל לוחצים על המסומן
ואז נפתח תפריט כזו בוחרים לפי המסומן ולוחצים על 'מסנן חדש'
מאשרים את יצירת המסנן ועוברים לשלב הבא
בשלב הזה ממלאים ובוחרים בתווית חדשה, נותנים לה שם, מאשרים, ולוחצים על 'מסנן חדש'(אני נתתי לה שם 'לטלפון' וע"פ זה הקוד להלן)
מעתה, כל מייל חדש שיגיע למייל שלכם יקבל גם תווית.שלב ה: הקוד וטריגר להפעלה
עכשיו צריך להכניס את הקוד לגוגל סקריפט שיעשה את כל הפעולות ויכניס את המייל למערכת
נכנסים לכאן פותחים 'פרויקט חדש' בצד ימין, נפתח פרויקט חדש עם קטע קוד. מוחקים את הקוד הקיים ומדביקים את הקוד הבא
אם המערכת בשרת הפריוטfunction mailToPhone() { const url = ('https://private.call2all.co.il/ym/api/'); const token = ('0734567890:1234'); const path = ('ivr2:2/'); const listTzintuk = ('tzl:1'); const label = GmailApp.getUserLabelByName('לטלפון'); let didUpload = false chechForGmails() function chechForGmails() { const threads = GmailApp.search('label:לטלפון'); 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.removeLabel(label); } else { const result = sendToYemot(messages[messages.length - 1]); didUpload = result || didUpload; thread.removeLabel(label); } } if(didUpload === true){ const tzintuk = UrlFetchApp.fetch(`${url}RunTzintuk?token=${token}&phones=${listTzintuk}`); Logger.log(tzintuk) } } function sendToYemot (message) { const ttsString = `הודעה מאת. ${message.getFrom()}. ,נושא,. ${message.getSubject()}. גוף ההודעה. ${message.getPlainBody()}`; 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'; } } }
אם המערכת בשרת הרגיל
function mailToPhone() { const url = ('https://www.call2all.co.il/ym/api/'); const token = ('0734567890:1234'); const path = ('ivr2:2/'); const listTzintuk = ('tzl:1'); const label = GmailApp.getUserLabelByName('לטלפון'); let didUpload = false chechForGmails() function chechForGmails() { const threads = GmailApp.search('label:לטלפון'); 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.removeLabel(label); } else { const result = sendToYemot(messages[messages.length - 1]); didUpload = result || didUpload; thread.removeLabel(label); } } if(didUpload === true){ const tzintuk = UrlFetchApp.fetch(`${url}RunTzintuk?token=${token}&phones=${listTzintuk}`); Logger.log(tzintuk) } } function sendToYemot (message) { const ttsString = `הודעה מאת. ${message.getFrom()}. ,נושא,. ${message.getSubject()}. גוף ההודעה. ${message.getPlainBody()}`; 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'; } } }
וכמובן משנים בשורה 3 למספר המערכת והסיסמה שלכם
נותנים לפרויקט שם כרצונכם
לוחצים על שמור.עכשיו נפעיל את הטריגר.
בתפריט הנפתחת מצד ימין לוחצים על 'מפעילים' ואז על 'הוספת טריגר',
נפתח תפריט כזו ובוחרים לפי המסומן ולוחצים על שמירה
עכשיו יפתח לנו חלונית חדשה שתבקש שניכנס עם החשבון ג'ימייל שלנו, ואז יופיע אזהרה שגוגל לא אימתה את האפליקציה הזו,
נלחץ על 'מתקדם' ואז על 'כניסה אל... (לא מאובטח)'
(נציין, לאף אחד אין גישה למייל שלך חוץ מהסקריפט שאתה הבעלים עליו ואתה יכול לשנות בכל זמן)
ואז, יפתח עוד חלונית שתבקש אישור שהסקריפט יכול לשנות את המיילים וכו' ואישור על התחברות לשרת חיצוני [ימות המשיח], נאשר
(שוב, הסקריפט לא מוחק ולא משנה שום מייל! אלא שאנחנו צריכים לאשר אפשרות כזו)גמרנו, יש לנו מערכת מוכנה שתצנתק לנו כשיש מייל חדש ותקריא לנו את המיילים שקבלנו
למעבר לכל המודולים שבניתי לחצו כאן
-
חסום ברימון.
-
@השפן-הקטן אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
חסום ברימון.
אטפל בהכל, בעקרון יש באג...
-
@liy לא מציג כלום. דף ריק.
-
@avrham אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
@liy לא מציג כלום. דף ריק.
כי יש תקלה קטנה, שכחתי להוסיף שלב מסויים...
-
@liy שתסדר תעדכן.
-
@liy מתי יסודר?
-
@avrham ג"א מצטרף להנ"ל.
|-י. פל.-|
אשמח שיסודר! -
@liy כולם מחכים כבר לדבר הנפלא הזה (שליחת מיילים דרך הטלפון)
תעדכן כבר, אתה מותח אותנו -
@avrham אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
@liy מתי יסודר?
בעז״ה עד יום ראשון
-
@avrham אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
@liy מתי יסודר?
טופל. הסתכלו בפוסט הראשון.
-
@liy
אין מילים עבודה מעולה
יש אופציה שישמעו את המיילים בשלוחה פנימית ? -
@liy א. גם אחרי האישור אני שומע שגיאה בניסיון לשלוח מייל
ב. ולגבי הקוד לשמיעת מיילים יש כאן קוד מסודר יותר וגם פותר את הבעיה בהודעות ארוכות על ידי שחותך ומשמיע רק 2200 תוים כדי שלא יגיד שגיאה כשיש הודעה ארוכה
ג. ועוד הערה יש לשנות את השלוחה לשמיעת המיילים ל 2 כי בקוד כתוב 1 וכן את שם הרשימה ל 1 במקום 123 שכתוב שם [או לשנות בקוד של השליחת מיילים ובשלוחה 3 של ההרשמה לשנות גם כן] -
@8544604 אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
יש אופציה שישמעו את המיילים בשלוחה פנימית ?
מה הכוונה?
-
@שלוימלה אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
גם אחרי האישור אני שומע שגיאה בניסיון לשלוח מייל
תכנס לכאן.
https://myaccount.google.com/lesssecureapps -
@liy שלוחה בתוך שלוחה לא בשלוחה ראשית
ניסיתי ולא הלך -
@0795702821 אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
@liy שלוחה בתוך שלוחה לא בשלוחה ראשית
ניסיתי ולא הלךמה לא הלך? שמיעת מיילים?
-
פוסט זה נמחק! -
@liy אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
שלוימלה אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
גם אחרי האישור אני שומע שגיאה בניסיון לשלוח מייל
תכנס לכאן.
https://myaccount.google.com/lesssecureappsעדיין אומר לי שגיאה גם אחרי שהתרתי את האפליקציה
-
@שלוימלה אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
@liy אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
שלוימלה אמר במדריך | שליחת וקבלת מיילים בטלפון דרך חשבון הג׳ימייל האישי שלכם:
גם אחרי האישור אני שומע שגיאה בניסיון לשלוח מייל
תכנס לכאן.
https://myaccount.google.com/lesssecureappsעדיין אומר לי שגיאה גם אחרי שהתרתי את האפליקציה
גם לי.......