מדריך | העברה אוטומטית של הודעות מקבוצת ווצאפ למייל – חלק 2: מדריך מלא מאפס עם שרת, Docker וקוד מוכן (כולל שרת חינמי באורקל)
-
מדריך | העברה אוטומטית של הודעות מקבוצת ווצאפ למייל – חלק 2: מדריך מלא מאפס עם שרת, Docker וקוד מוכן (כולל שרת חינמי באורקל)
בהמשך למדריך הקודם ולבקשות להרחיב על הקמת השרת ועל Docker, הנה הכול מאפס: מהשכרת השרת ועד מייל שמגיע.
הפעם עם קוד מוכן, כך שלא צריך לתכנת ולא צריך AI. רק להעתיק פקודות לפי הסדר.
הקוד המלא: https://github.com/bot-sync-up/whatsapp-to-mailמה מקבלים: כל ההודעות מהקבוצה במייל מרוכז (פעם ביום / פעם בשעה / על כל הודעה). ליד כל הודעה כתוב מי שלח ומתי, ומדיה מופיעה כ־
[נשלחה תמונה],[נשלחה הקלטה קולית]וכדומה.
️ זמן הקמה: בערך 30–45 דקות בפעם הראשונה
עלות: שרת וירטואלי בערך 5–10 דולר לחודש, או חינם באורקל (סעיף 2ב). כל השאר חינם.
מה זה בכלל שרת ודוקר?
- שרת (VPS) = מחשב שנמצא בחוות שרתים, דלוק 24/7 ומחובר לאינטרנט. שוכרים אותו (או מקבלים בחינם באורקל) ושולטים בו מרחוק דרך חלון פקודות. אין לו מסך ואין עכבר, רק פקודות.
- Docker = תוכנה שמריצה "קופסאות" (קונטיינרים). כל קופסה היא תוכנה מוכנה עם כל מה שהיא צריכה בפנים. לא צריך להתקין פייתון, כרום, ספריות וכו'. דוקר מוריד ומריץ הכול בפקודה אחת.
- אצלנו יש 2 קופסאות:
- WAHA – מחזיקה את הווצאפ מחובר (כמו ווצאפ ווב, אבל בשרת) ומודיעה על כל הודעה חדשה
- forwarder – הקוד שלנו. מקבל את ההודעות, שומר אותן ושולח מייל מרוכז
ווצאפ ──► WAHA ──(כל הודעה נדחפת מיד)──► forwarder ──(פעם ביום)──► 📧 מייל
️ סיכון חסימה: החיבור לווצאפ לא רשמי (דרך "מכשיר מקושר"). מספר שרק מקבל הודעות נמצא בסיכון נמוך, אבל הוא לא אפס. מומלץ להשתמש במספר נוסף ולצרף אותו לקבוצה.
1. סיסמת אפליקציה בגוגל
המערכת שולחת מיילים דרך ה-Gmail שלכם, אבל לא עם הסיסמה הרגילה. היא משתמשת ב"סיסמת אפליקציה".
- נכנסים ל-https://myaccount.google.com/security ומוודאים שאימות דו-שלבי מופעל
- נכנסים ישירות ל-https://myaccount.google.com/apppasswords (אין לזה כפתור בתפריט! רק דרך הקישור או החיפוש)
- כותבים שם כמו
whatsapp-mail← יצירה - מופיע קוד של 16 אותיות. מעתיקים ושומרים בצד. הוא לא יוצג שוב.
2. שכירת שרת
יש שתי דרכים. בוחרים אחת:
א – Vultr (או ספק דומה) ב – Oracle Cloud מחיר בערך 5–10 דולר לחודש חינם (Always Free) קושי קל בינוני: הרשמה מסובכת יותר, ולפעמים "אין מקום" כרטיס אשראי כן כן (לאימות בלבד, לא מחויב) סיכון אין אורקל עלולה לקחת בחזרה שרת "לא פעיל" (פרטים בהמשך) א – Vultr
כל ספק VPS מתאים (Vultr, DigitalOcean, Hetzner, Contabo...). הדוגמה כאן היא עם Vultr:
- נרשמים ב-https://www.vultr.com ומוסיפים אמצעי תשלום
- Deploy ← Deploy New Server
- בוחרים:
- Type: Shared CPU (Cloud Compute)
- Location: כל מיקום (Tel Aviv אם יש, או Frankfurt / Amsterdam)
- OS: Ubuntu 24.04 LTS x64
- Plan: לפחות 2GB RAM (WAHA מריץ כרום בפנים, ועם 1GB הוא עלול לקרוס)
- Deploy Now ← מחכים עד שהסטטוס יהיה Running
- נכנסים לשרת ורושמים בצד: IP Address, משתמש
root, ו-Password
ב – Oracle Cloud (חינם)
אורקל נותנת בחינם לתמיד שרת ARM (מעבד Ampere) עם עד 2 ליבות ו-12GB זיכרון. זה יותר ממספיק.
הרשמה:
- נכנסים ל-https://www.oracle.com/cloud/free ← Start for free
- ממלאים פרטים, מאמתים מייל, ומכניסים כרטיס אשראי (לאימות בלבד. בחשבון Free לא מחייבים)
- Home Region: בוחרים אזור קרוב (למשל Israel Central (Jerusalem) או Germany Central (Frankfurt)).
️ אי אפשר לשנות אותו אחר כך! השרת החינמי חייב להיות באזור הזה. - ההרשמה יכולה לקחת כמה דקות עד שעות, עד שהחשבון מאושר.
יצירת השרת:
- בתפריט ☰ ← Compute ← Instances ← Create instance
- Name: למשל
whatsapp - Image and shape ← Edit:
- Image: Canonical Ubuntu 24.04
- Shape: Change shape ← Ampere ← VM.Standard.A1.Flex ← 1 OCPU ו-6 GB זיכרון (מספיק בהחלט)
- מוודאים שמופיע הכיתוב Always Free-eligible
- Add SSH keys: בוחרים Generate a key pair for me ← לוחצים Save private key.
יורד קובץ כמוssh-key-2026-10-01.key. שומרים אותו! בלעדיו אי אפשר להיכנס לשרת. - Create ← מחכים עד שהסטטוס Running ← מעתיקים את ה-Public IP address
שגיאת Out of capacity: אין כרגע שרתים פנויים באזור. מנסים Availability domain אחר (באותו מסך), או מנסים שוב בעוד כמה שעות. זה נפוץ.
️ שרת "לא פעיל": לפי התיעוד של אורקל, שרת חינמי שבמשך 7 ימים משתמש בפחות מ-20% מעבד, רשת וזיכרון עלול להילקח בחזרה. המערכת שלנו קלה מאוד, אז זה סיכון אמיתי. לפי דיווחי משתמשים, שדרוג החשבון ל-Pay As You Go (בתפריט Billing) מונע את זה, ואורקל עדיין לא גובה כסף על משאבי Always Free. כדאי לקרוא את התנאים לפני כן.ההבדלים בהמשך המדריך לאורקל:
- התחברות (שלב 3): במקום סיסמה משתמשים בקובץ המפתח, והמשתמש הוא
ubuntuולאroot:
ssh -i "$HOME\Downloads\ssh-key-2026-10-01.key" ubuntu@IP-של-השרתאם מופיעה שגיאה
UNPROTECTED PRIVATE KEY FILE/bad permissions, מריצים פעם אחת ב-PowerShell (עם שם הקובץ שלכם) ומנסים שוב:icacls "$HOME\Downloads\ssh-key-2026-10-01.key" /inheritance:r /grant:r "$($env:USERNAME):R"- אחרי שנכנסים לשרת: מריצים
sudo -iכדי להפוך ל-root. מכאן כל הפקודות זהות. - בקובץ
.env(שלב 5.3): משנים את השורהWAHA_IMAGE=devlikeapro/waha:arm(גרסה למעבדי ARM) - המנהרה (שלב 7):
ssh -i "$HOME\Downloads\ssh-key-2026-10-01.key" -L 3000:localhost:3000 ubuntu@IP-של-השרת
3. התחברות לשרת מהמחשב
ב-Windows 10/11 כבר מותקן כל מה שצריך. (באורקל ההתחברות קצת שונה, ראו למעלה בסעיף 2ב.)
️ משתמשי נטפרי: החיבור לשרת (SSH, פורט 22) חסום כברירת מחדל. לפני ההתחברות שולחים לנטפרי בקשת פתיחה, עם כתובת ה-IP של השרת שלכם:```"שלום, אבקש לפתוח חיבור SSH (פורט 22) לשרת הפרטי שלי בכתובת IP: `45.76.123.45`. השרת משמש להרצת אוטומציה לשליחת מיילים ואין בו תוכן לגלישה. תודה."- התחל ← כותבים
PowerShell← פותחים - כותבים (עם ה-IP שלכם):
ssh root@45.76.123.45- בפעם הראשונה תופיע שאלה
Are you sure you want to continue connecting?← כותביםyes← Enter - מדביקים את הסיסמה עם קליק ימני ← Enter
בזמן הקלדת סיסמה לא רואים כלום על המסך, אפילו לא כוכביות. זה תקין! פשוט מדביקים ולוחצים Enter. - אם רואים שורה שמסתיימת ב-
root@...:~#, אתם בתוך השרת
מעכשיו כל פקודה מדביקים בחלון הזה (קליק ימני = הדבקה) ולוחצים Enter.
4. התקנת Docker
התקנה רשמית של דוקר, לוקחת דקה-שתיים:
curl -fsSL https://get.docker.com | shבדיקה:
docker --version docker compose versionאם מופיעים מספרי גרסאות, הכול טוב.
5. הורדת הקוד והגדרות
5.1 הורדת הקוד:
git clone https://github.com/bot-sync-up/whatsapp-to-mail.git cd whatsapp-to-mail cp .env.example .env5.2 מפתח אקראי (מגן על ה-WAHA שלכם):
openssl rand -hex 16מעתיקים את השורה שיוצאת (סימון עם העכבר כבר מעתיק).
5.3 עריכת ההגדרות:
nano .envנפתח עורך טקסט פשוט. אין עכבר. זזים עם החצים במקלדת. ממלאים:
שורה מה לשים WAHA_IMAGE=להשאיר כמו שזה. רק באורקל: devlikeapro/waha:armWAHA_API_KEY=המפתח מ-5.2 WAHA_DASHBOARD_PASSWORD=סיסמה שתבחרו לכניסה ללוח הבקרה GROUPS=להשאיר ריק בינתיים! (נמלא בשלב 
MAIL_FROM=כתובת ה-Gmail ששולחת MAIL_APP_PASSWORD=16 האותיות מסעיף 1 MAIL_TO=מי מקבל. כמה כתובות מפרידים בפסיק SEND_MODE=daily(פעם ביום) /hourly(פעם בשעה) /immediate(על כל הודעה)DAILY_TIME=שעת הסיכום היומי, למשל 21:00שמירה ויציאה מ-nano:
Ctrl+O←Enter←Ctrl+X
6. הפעלה
docker compose up -d --buildבפעם הראשונה זה לוקח כמה דקות (דוקר מוריד את WAHA, בערך 1GB). בדיקה:
docker compose psצריך לראות
wahaו-forwarder, ושניהם במצבUp.
7. חיבור הווצאפ (סריקת QR)
מטעמי אבטחה לוח הבקרה של WAHA לא פתוח לאינטרנט. נכנסים אליו דרך "מנהרה" מאובטחת:
- במחשב שלכם (לא בשרת!) פותחים חלון PowerShell חדש:
ssh -L 3000:localhost:3000 root@45.76.123.45מכניסים סיסמה ומשאירים את החלון פתוח (באורקל: הפקודה מסעיף 2ב)
2. בדפדפן במחשב: http://localhost:3000/dashboard
3. משתמשadmin+ הסיסמה מ-WAHA_DASHBOARD_PASSWORD. אם הדשבורד מבקש API Key, מדביקים את המפתח מ-5.2
4. סשן default במצב SCAN_QR_CODE ← לוחצים על סמל ה-QR
5. בטלפון: ווצאפ ← מכשירים מקושרים ← קישור מכשיר ← סורקים
6. הסטטוס משתנה ל-WORKING
. אפשר לסגור את חלון המנהרה. החיבור נשמר בשרת, גם אחרי ריסטרט.
8. מציאת ה-ID של הקבוצה
לכל קבוצה יש מזהה כמו
120363012345678901@g.us. כל עודGROUPSריק, המערכת נמצאת במצב למידה ומדפיסה את המזהה של כל קבוצה שכותבים בה.- בחלון של השרת:
docker compose logs -f forwarder- שולחים הודעה כלשהי בקבוצה הרצויה (מהטלפון)
- מופיעה שורה כמו:
[מצב למידה] הודעה בקבוצה עם ID: 120363012345678901@g.us | שלום- מעתיקים את ה-ID ←
Ctrl+Cליציאה מהלוג nano .env← ממלאים בפורמטID|שם:
GROUPS=120363012345678901@g.us|קבוצת השיעורכמה קבוצות מפרידים בפסיק. שמירה:
Ctrl+O←Enter←Ctrl+X
6. מפעילים מחדש כדי שההגדרות ייקלטו:docker compose up -d
9. בדיקה
- משנים זמנית ב-
.envאתSEND_MODE=immediate← שומרים ←docker compose up -d docker compose logs -f forwarder. צריך לראות:מאזין לקבוצות: קבוצת השיעור | מצב שליחה: immediate- שולחים הודעה בקבוצה. תוך חצי דקה יופיע:
התקבלה הודעה מ-משה ב-קבוצת השיעור: ... נשלח מייל עם 1 הודעות- בודקים שהמייל הגיע (גם בספאם!). אם הוא בספאם, מסמנים "לא ספאם".
- מחזירים ל-
SEND_MODE=daily←docker compose up -d
זהו!
המערכת רצה לבד, והמחשב שלכם יכול להיות כבוי.
10. פקודות שימושיות ותקלות נפוצות
(אם התחברתם מחדש לשרת, קודם מריצים
cd whatsapp-to-mail)מה רוצים פקודה לראות מה קורה עכשיו docker compose logs -f forwarder(יציאה:Ctrl+C)לראות לוג של WAHA docker compose logs --tail 50 wahaאחרי שינוי ב-.env docker compose up -dלעצור / להפעיל docker compose down/docker compose up -dלעדכן לגרסה חדשה git pull && docker compose pull && docker compose up -d --buildתקלה פתרון Username and Password not acceptedסיסמת האפליקציה שגויה. יוצרים חדשה (סעיף 1) במצב למידה לא מופיע כלום בודקים בדשבורד שהסטטוס WORKING. אם לא, סורקים QR שוב הסשן התנתק אחרי כמה שבועות הטלפון לא התחבר לאינטרנט 14 יום. פותחים בו ווצאפ, ואם צריך סורקים מחדש wahaקורס כל הזמןחסר זיכרון. משדרגים ל-2GB RAM ומעלה exec format error(באורקל)שכחתם לשנות ל- WAHA_IMAGE=devlikeapro/waha:armהמייל מגיע בשעה לא נכונה בודקים שב- .envישTZ=Asia/Jerusalem
אבטחה: הקובץ .envמכיל סיסמאות. לא משתפים אותו ולא מעלים אותו לשום מקום. ולגבי הקבוצה: אתם מעבירים הודעות של אחרים למישהו מחוץ לקבוצה, אז כדאי לקבל את הסכמת המנהל.בהצלחה, ומועדים לשמחה!
גילוי נאות
המדריך והקוד נערכו בעזרת AI.@צוות-פיקוח נא להעביר למדריכים
תודה
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות