בקשה | צ'אט בינה מלאכותית במייל
-
@0534182760
אם זה לא מסובך אז תבנה...
אבל התשובה האמיתית היא שזה עולה כסף לפי טוקנים, ואם מישהו יעשה את זה ציבורי אז הוא יצטרך לשלם הרבה ולא יהיה לו דרך לאכוף מגבלת שימוש.נ.ב. אם מעניין אותך אני משתמש בכזה דבר ממש משוכלל שחבר שלי בנה לי, כמובן שאין ע"ז סינון תוכן של נטפרי, לכן זה אחלה דבר ליצירת תמונות ...
-
@u88 אחלה, נוא יכול לבנות גם לי... יש לזה הגבלה כלשהי?
-
אם מישהו מצליח לעשות זאת שיעדכן
מדריך ליצירת צ'אט בינה מלאכותית באימיילגרסת הדגמה בלבד — המדריך עדיין לא מוכן סופית
פרטי המדריך, מה יקרה כאן?
א, יהיה לנו כתובת מייל שנתכתב איתה וזה יחזיר לנו תשובות AI אוטומטיות,
ב, נבנה סקריפט שקורא את כל ההודעות שלא נקראו בכתובת המייל שייעדנו לAI ומחזיר תשובות.
ג, כדי שהסקריפט ירוץ כל כמה דקות, נפתח חשבון בגיטהאב ושם נבנה סקריפט שמריץ סקריפטים אונליין, כל כמה דקות,
ד, חשוב לדעת, החשבון החינמי בגיטהאב נותן לנו 2000 דקות הרצה בחודש, כל ריצה של הסקריפט ללא אימיילים נכנסים לוקחת 15-17 שניות, וזה קורה כל 2-5 דקות, ריצה עם אימיילים נכנסים לוקח יותר זמן, לכן, יתכן ושווה לעשות שהסקריפט בגיטהאב ירוץ רק פעם בחמש דקות או יותר, ואז יישאר לנו דקות ריצה עד סוף החודש, ודו''ק...🧰 מה צריך?
1.
️ כתובת מייל משלכם2.כתובת מייל ייעודית לבינה המלאכותית.(שאיתה נתכתב...)
3.
חשבון ב-GitHub4.
מפתח API של Gemini (של גוגל)5.
חצי שעה פנויהשלב 1️⃣ – פתיחת כתובת מייל חדשה והכנת גישה מאובטחת
1, פתחו כתובת Gmail חדשה (רצוי ייעודית לבוט).
2, היכנסו אל הגדרות החשבון של Google → אבטחה → אימות דו־שלבי והפעילו אותו.
3, לאחר מכן, גשו לכתובת: https://myaccount.google.com/apppasswords

4, צרו סיסמת אפליקציה חדשה, תנו לה שם כלשהו (למשל “ChatBot”), ותקבלו מספר מילים באנגלית — זו הסיסמה לשימוש בתוכנה בלבד (לא סיסמת החשבון).
5, העתיקו ושמרו אותה בצד — נשתמש בה בהמשך.
שלב 2️⃣ - קבלת API פרטי של ג'מיני
1, היכנסו לכאן'קבלת API של ג'מיני'

2, וודאו שנכנסתם עם החשבון הייעודי לג'מיני
3, פיתחו פרוייקט חדש
4, קבלו API פרטי בשבילכם
5, כנסו לפרטי הAPI, והעתיקו את המפתח, נצטרך אותו לשלב 5/2
שלב 3️⃣ – יצירת המאגר והקוד ב-GitHub
1, היכנסו ל-GitHub

2, ופתחו חשבון (אם אין לכם).
3, צרו מאגר חדש (New repository) בשם כרצונכם.
4, בתוך המאגר, לחצו על “Add file → Create new file”
5, וקראו לקובץ:
gemini_email_bot.py
6, הדביקו בו את הקוד הבא
️: [ קוד הבוט (Python)]
import os
import imaplib
import email
import smtplib
import requests
from email.mime.text import MIMEText--- הגדרות קבועות ---
IMAP_SERVER = "imap.gmail.com"
SMTP_SERVER = "smtp.gmail.com"EMAIL_ACCOUNT = os.getenv("EMAIL_ACCOUNT")
EMAIL_PASSWORD = os.getenv("EMAIL_PASSWORD")
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")--- קבלת מיילים חדשים ---
def get_unread_emails():
try:
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
mail.login(EMAIL_ACCOUNT, EMAIL_PASSWORD)
mail.select("inbox")
result, data = mail.search(None, '(UNSEEN)')
unread_msg_nums = data[0].split()
messages = []for num in unread_msg_nums: result, msg_data = mail.fetch(num, "(RFC822)") raw_email = msg_data[0][1] msg = email.message_from_bytes(raw_email) sender = email.utils.parseaddr(msg["From"])[1] subject = msg["Subject"] if msg["Subject"] else "(ללא נושא)" body = "" if msg.is_multipart(): for part in msg.walk(): if part.get_content_type() == "text/plain": charset = part.get_content_charset() or "utf-8" body += part.get_payload(decode=True).decode(charset, errors="ignore") else: charset = msg.get_content_charset() or "utf-8" body += msg.get_payload(decode=True).decode(charset, errors="ignore") messages.append({"from": sender, "subject": subject, "body": body}) mail.logout() return messages except Exception as e: print(f"[!] Error fetching emails: {e}") return []--- שליחת מייל תשובה ---
def send_email(to_email, subject, body_text):
try:
formatted_text = body_text.replace('\n', '<br>')
html_body = f"""
<html>
<body style="direction: rtl; text-align: right; font-family: Arial, sans-serif;">
{formatted_text}
</body>
</html>
"""
msg = MIMEText(html_body, _subtype='html', _charset='utf-8')
msg['From'] = EMAIL_ACCOUNT
msg['To'] = to_email
msg['Subject'] = subjectwith smtplib.SMTP_SSL(SMTP_SERVER, 465) as server: server.login(EMAIL_ACCOUNT, EMAIL_PASSWORD) server.sendmail(EMAIL_ACCOUNT, to_email, msg.as_string()) print(f"[✔] Sent reply to {to_email}") except Exception as e: print(f"[!] Error sending email to {to_email}: {e}")--- קבלת תגובה מג'מיני ---
def get_gemini_reply(prompt):
try:
url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key={GEMINI_API_KEY}"
headers = {"Content-Type": "application/json"}
data = {"contents": [{"parts": [{"text": prompt}]}]}
response = requests.post(url, headers=headers, json=data)if response.status_code == 200: result = response.json() return result["candidates"][0]["content"]["parts"][0]["text"] else: print(f"[!] Gemini API error: {response.text}") return "אירעה שגיאה בעת יצירת התגובה." except Exception as e: print(f"[!] Error contacting Gemini API: {e}") return "שגיאה פנימית בתקשורת עם Gemini."--- הפעלת הבוט ---
def main():
print("Starting Gemini Email Bot...")
emails = get_unread_emails()
if not emails:
print("No new emails.")
returnfor msg in emails: print(f"[📩] New email from: {msg['from']}") print(f"Subject: {msg['subject']}") print(f"Body: {msg['body'][:100]}...") reply = get_gemini_reply(msg["body"]) send_email(msg["from"], f"Re: {msg['subject']}", reply)if name == "main":
main()7, לאחר מכן לחצו על Save / Commit changes (או Ctrl + S → ואז הכפתור הירוק).
שלב 4️⃣ – יצירת קובץ הפעולה (GitHub Actions)
1, חזרו למאגר שלכם ולחצו שוב על
“Add file → Create new file”
2, תנו לקובץ את השם הבא (כולל הנקודות והסלשים!):
.github/workflows/gemini_email_bot.yml
3, הדביקו את התוכן הבא
️: [ קובץ ההרצה (YAML)]
name: Gemini Email Bot
on:
schedule:
- cron: '*/2 * * * *' # ריצה כל 2 דקות
workflow_dispatch: # אפשר להריץ גם ידניתjobs:
run-bot:
runs-on: ubuntu-lateststeps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip pip install requests - name: Run Gemini Email Bot env: EMAIL_ACCOUNT: ${{ secrets.EMAIL_ACCOUNT }} EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }} GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} run: | echo "Starting Gemini Email Bot..." python gemini_email_bot.py echo "Bot finished successfully."
4, לאחר מכן שמרו את הקובץ בדיוק כמו קודם.
שלב 5️⃣ – הוספת הסודות (Secrets) במאגר
1, היכנסו לכרטיסייה Settings → בצד שמאל בחרו Secrets → Actions.
2, לחצו על “New repository secret” שלוש פעמים, ובכל פעם הוסיפו אחד מהבאים:
שם הסוד: EMAIL_ACCOUNT תוכן: כתובת המייל שפתחתם
שם הסוד: EMAIL_PASSWORD תוכן: סיסמת האפליקציה ששמרתם בשלב 1/4
שם הסוד: GEMINI_API_KEY תוכן: מפתח ה-API של Gemini
3, שמרו כל אחד מהם.
שלב 6️⃣ – הרצת הבוט
1, חזרו למאגר שלכם ולחצו על כרטיסיית Actions.
2, מצאו בצד שמאל את הפעולה בשם
3, “Gemini Email Bot” ולחצו עליה.
4, יופיע כפתור כחול “Run workflow” — לחצו עליו.
5, המתינו כדקה → אם תופיע שורה עם
️ ירוק — הצלחתם! 
מה הבוט עושה?מזהה מיילים חדשים בתיבת Gmail.
שולח את תוכן ההודעה ל-Gemini.
מחזיר תשובה אוטומטית ישירות לשולח — בעברית או בכל שפה אחרת.
תגובות ורגשות
אהבתם? סמנו לנו:
2
️
1


מעריך עבודה לציבורשלשום

השם יתברך
שלשום
האם הכל פתוח בנטפרי? תגובת מערכת: כן, תלוי באיזו הגדרות קהילה, גיטהאב לא נפתח בחדר מחשבים.
סקרן
שלשום
למה בעצם כל אחד צריך לפתוח לעצמו? אי אפשר שאחד עושה את כל התהליך הנ"ל ואז הוא מפרסם את מספר המייל של הצ'אט לכולם, אי אפשר שכולם ישתמשו עם מייל אחד? תגובת מערכת: יש הגבלה בגיטהאב על מספר דקות הרצה, ואם יהיו הרבה שאלות, זה יקח הרבה דקות, והדקות החינמיות ייגמרו מיד בתחילת החודש.
כל הזכויות שמורות לטשיקאווער ניוז..
-
אם מישהו מצליח לעשות זאת שיעדכן
מדריך ליצירת צ'אט בינה מלאכותית באימיילגרסת הדגמה בלבד — המדריך עדיין לא מוכן סופית
פרטי המדריך, מה יקרה כאן?
א, יהיה לנו כתובת מייל שנתכתב איתה וזה יחזיר לנו תשובות AI אוטומטיות,
ב, נבנה סקריפט שקורא את כל ההודעות שלא נקראו בכתובת המייל שייעדנו לAI ומחזיר תשובות.
ג, כדי שהסקריפט ירוץ כל כמה דקות, נפתח חשבון בגיטהאב ושם נבנה סקריפט שמריץ סקריפטים אונליין, כל כמה דקות,
ד, חשוב לדעת, החשבון החינמי בגיטהאב נותן לנו 2000 דקות הרצה בחודש, כל ריצה של הסקריפט ללא אימיילים נכנסים לוקחת 15-17 שניות, וזה קורה כל 2-5 דקות, ריצה עם אימיילים נכנסים לוקח יותר זמן, לכן, יתכן ושווה לעשות שהסקריפט בגיטהאב ירוץ רק פעם בחמש דקות או יותר, ואז יישאר לנו דקות ריצה עד סוף החודש, ודו''ק...🧰 מה צריך?
1.
️ כתובת מייל משלכם2.כתובת מייל ייעודית לבינה המלאכותית.(שאיתה נתכתב...)
3.
חשבון ב-GitHub4.
מפתח API של Gemini (של גוגל)5.
חצי שעה פנויהשלב 1️⃣ – פתיחת כתובת מייל חדשה והכנת גישה מאובטחת
1, פתחו כתובת Gmail חדשה (רצוי ייעודית לבוט).
2, היכנסו אל הגדרות החשבון של Google → אבטחה → אימות דו־שלבי והפעילו אותו.
3, לאחר מכן, גשו לכתובת: https://myaccount.google.com/apppasswords

4, צרו סיסמת אפליקציה חדשה, תנו לה שם כלשהו (למשל “ChatBot”), ותקבלו מספר מילים באנגלית — זו הסיסמה לשימוש בתוכנה בלבד (לא סיסמת החשבון).
5, העתיקו ושמרו אותה בצד — נשתמש בה בהמשך.
שלב 2️⃣ - קבלת API פרטי של ג'מיני
1, היכנסו לכאן'קבלת API של ג'מיני'

2, וודאו שנכנסתם עם החשבון הייעודי לג'מיני
3, פיתחו פרוייקט חדש
4, קבלו API פרטי בשבילכם
5, כנסו לפרטי הAPI, והעתיקו את המפתח, נצטרך אותו לשלב 5/2
שלב 3️⃣ – יצירת המאגר והקוד ב-GitHub
1, היכנסו ל-GitHub

2, ופתחו חשבון (אם אין לכם).
3, צרו מאגר חדש (New repository) בשם כרצונכם.
4, בתוך המאגר, לחצו על “Add file → Create new file”
5, וקראו לקובץ:
gemini_email_bot.py
6, הדביקו בו את הקוד הבא
️: [ קוד הבוט (Python)]
import os
import imaplib
import email
import smtplib
import requests
from email.mime.text import MIMEText--- הגדרות קבועות ---
IMAP_SERVER = "imap.gmail.com"
SMTP_SERVER = "smtp.gmail.com"EMAIL_ACCOUNT = os.getenv("EMAIL_ACCOUNT")
EMAIL_PASSWORD = os.getenv("EMAIL_PASSWORD")
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")--- קבלת מיילים חדשים ---
def get_unread_emails():
try:
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
mail.login(EMAIL_ACCOUNT, EMAIL_PASSWORD)
mail.select("inbox")
result, data = mail.search(None, '(UNSEEN)')
unread_msg_nums = data[0].split()
messages = []for num in unread_msg_nums: result, msg_data = mail.fetch(num, "(RFC822)") raw_email = msg_data[0][1] msg = email.message_from_bytes(raw_email) sender = email.utils.parseaddr(msg["From"])[1] subject = msg["Subject"] if msg["Subject"] else "(ללא נושא)" body = "" if msg.is_multipart(): for part in msg.walk(): if part.get_content_type() == "text/plain": charset = part.get_content_charset() or "utf-8" body += part.get_payload(decode=True).decode(charset, errors="ignore") else: charset = msg.get_content_charset() or "utf-8" body += msg.get_payload(decode=True).decode(charset, errors="ignore") messages.append({"from": sender, "subject": subject, "body": body}) mail.logout() return messages except Exception as e: print(f"[!] Error fetching emails: {e}") return []--- שליחת מייל תשובה ---
def send_email(to_email, subject, body_text):
try:
formatted_text = body_text.replace('\n', '<br>')
html_body = f"""
<html>
<body style="direction: rtl; text-align: right; font-family: Arial, sans-serif;">
{formatted_text}
</body>
</html>
"""
msg = MIMEText(html_body, _subtype='html', _charset='utf-8')
msg['From'] = EMAIL_ACCOUNT
msg['To'] = to_email
msg['Subject'] = subjectwith smtplib.SMTP_SSL(SMTP_SERVER, 465) as server: server.login(EMAIL_ACCOUNT, EMAIL_PASSWORD) server.sendmail(EMAIL_ACCOUNT, to_email, msg.as_string()) print(f"[✔] Sent reply to {to_email}") except Exception as e: print(f"[!] Error sending email to {to_email}: {e}")--- קבלת תגובה מג'מיני ---
def get_gemini_reply(prompt):
try:
url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key={GEMINI_API_KEY}"
headers = {"Content-Type": "application/json"}
data = {"contents": [{"parts": [{"text": prompt}]}]}
response = requests.post(url, headers=headers, json=data)if response.status_code == 200: result = response.json() return result["candidates"][0]["content"]["parts"][0]["text"] else: print(f"[!] Gemini API error: {response.text}") return "אירעה שגיאה בעת יצירת התגובה." except Exception as e: print(f"[!] Error contacting Gemini API: {e}") return "שגיאה פנימית בתקשורת עם Gemini."--- הפעלת הבוט ---
def main():
print("Starting Gemini Email Bot...")
emails = get_unread_emails()
if not emails:
print("No new emails.")
returnfor msg in emails: print(f"[📩] New email from: {msg['from']}") print(f"Subject: {msg['subject']}") print(f"Body: {msg['body'][:100]}...") reply = get_gemini_reply(msg["body"]) send_email(msg["from"], f"Re: {msg['subject']}", reply)if name == "main":
main()7, לאחר מכן לחצו על Save / Commit changes (או Ctrl + S → ואז הכפתור הירוק).
שלב 4️⃣ – יצירת קובץ הפעולה (GitHub Actions)
1, חזרו למאגר שלכם ולחצו שוב על
“Add file → Create new file”
2, תנו לקובץ את השם הבא (כולל הנקודות והסלשים!):
.github/workflows/gemini_email_bot.yml
3, הדביקו את התוכן הבא
️: [ קובץ ההרצה (YAML)]
name: Gemini Email Bot
on:
schedule:
- cron: '*/2 * * * *' # ריצה כל 2 דקות
workflow_dispatch: # אפשר להריץ גם ידניתjobs:
run-bot:
runs-on: ubuntu-lateststeps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip pip install requests - name: Run Gemini Email Bot env: EMAIL_ACCOUNT: ${{ secrets.EMAIL_ACCOUNT }} EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }} GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} run: | echo "Starting Gemini Email Bot..." python gemini_email_bot.py echo "Bot finished successfully."
4, לאחר מכן שמרו את הקובץ בדיוק כמו קודם.
שלב 5️⃣ – הוספת הסודות (Secrets) במאגר
1, היכנסו לכרטיסייה Settings → בצד שמאל בחרו Secrets → Actions.
2, לחצו על “New repository secret” שלוש פעמים, ובכל פעם הוסיפו אחד מהבאים:
שם הסוד: EMAIL_ACCOUNT תוכן: כתובת המייל שפתחתם
שם הסוד: EMAIL_PASSWORD תוכן: סיסמת האפליקציה ששמרתם בשלב 1/4
שם הסוד: GEMINI_API_KEY תוכן: מפתח ה-API של Gemini
3, שמרו כל אחד מהם.
שלב 6️⃣ – הרצת הבוט
1, חזרו למאגר שלכם ולחצו על כרטיסיית Actions.
2, מצאו בצד שמאל את הפעולה בשם
3, “Gemini Email Bot” ולחצו עליה.
4, יופיע כפתור כחול “Run workflow” — לחצו עליו.
5, המתינו כדקה → אם תופיע שורה עם
️ ירוק — הצלחתם! 
מה הבוט עושה?מזהה מיילים חדשים בתיבת Gmail.
שולח את תוכן ההודעה ל-Gemini.
מחזיר תשובה אוטומטית ישירות לשולח — בעברית או בכל שפה אחרת.
תגובות ורגשות
אהבתם? סמנו לנו:
2
️
1


מעריך עבודה לציבורשלשום

השם יתברך
שלשום
האם הכל פתוח בנטפרי? תגובת מערכת: כן, תלוי באיזו הגדרות קהילה, גיטהאב לא נפתח בחדר מחשבים.
סקרן
שלשום
למה בעצם כל אחד צריך לפתוח לעצמו? אי אפשר שאחד עושה את כל התהליך הנ"ל ואז הוא מפרסם את מספר המייל של הצ'אט לכולם, אי אפשר שכולם ישתמשו עם מייל אחד? תגובת מערכת: יש הגבלה בגיטהאב על מספר דקות הרצה, ואם יהיו הרבה שאלות, זה יקח הרבה דקות, והדקות החינמיות ייגמרו מיד בתחילת החודש.
כל הזכויות שמורות לטשיקאווער ניוז..
@0534182760 כתב בבקשה | צ'אט בינה מלאכותית במייל:
אם מישהו מצליח לעשות זאת שיעדכן
מדריך ליצירת צ'אט בינה מלאכותית באימיילגרסת הדגמה בלבד — המדריך עדיין לא מוכן סופית
פרטי המדריך, מה יקרה כאן?
א, יהיה לנו כתובת מייל שנתכתב איתה וזה יחזיר לנו תשובות AI אוטומטיות,
ב, נבנה סקריפט שקורא את כל ההודעות שלא נקראו בכתובת המייל שייעדנו לAI ומחזיר תשובות.
ג, כדי שהסקריפט ירוץ כל כמה דקות, נפתח חשבון בגיטהאב ושם נבנה סקריפט שמריץ סקריפטים אונליין, כל כמה דקות,
ד, חשוב לדעת, החשבון החינמי בגיטהאב נותן לנו 2000 דקות הרצה בחודש, כל ריצה של הסקריפט ללא אימיילים נכנסים לוקחת 15-17 שניות, וזה קורה כל 2-5 דקות, ריצה עם אימיילים נכנסים לוקח יותר זמן, לכן, יתכן ושווה לעשות שהסקריפט בגיטהאב ירוץ רק פעם בחמש דקות או יותר, ואז יישאר לנו דקות ריצה עד סוף החודש, ודו''ק...🧰 מה צריך?
1.
️ כתובת מייל משלכם2.כתובת מייל ייעודית לבינה המלאכותית.(שאיתה נתכתב...)
3.
חשבון ב-GitHub4.
מפתח API של Gemini (של גוגל)5.
חצי שעה פנויהשלב 1️⃣ – פתיחת כתובת מייל חדשה והכנת גישה מאובטחת
1, פתחו כתובת Gmail חדשה (רצוי ייעודית לבוט).
2, היכנסו אל הגדרות החשבון של Google → אבטחה → אימות דו־שלבי והפעילו אותו.
3, לאחר מכן, גשו לכתובת: https://myaccount.google.com/apppasswords

4, צרו סיסמת אפליקציה חדשה, תנו לה שם כלשהו (למשל “ChatBot”), ותקבלו מספר מילים באנגלית — זו הסיסמה לשימוש בתוכנה בלבד (לא סיסמת החשבון).
5, העתיקו ושמרו אותה בצד — נשתמש בה בהמשך.
שלב 2️⃣ - קבלת API פרטי של ג'מיני
1, היכנסו לכאן'קבלת API של ג'מיני'

2, וודאו שנכנסתם עם החשבון הייעודי לג'מיני
3, פיתחו פרוייקט חדש
4, קבלו API פרטי בשבילכם
5, כנסו לפרטי הAPI, והעתיקו את המפתח, נצטרך אותו לשלב 5/2
שלב 3️⃣ – יצירת המאגר והקוד ב-GitHub
1, היכנסו ל-GitHub

2, ופתחו חשבון (אם אין לכם).
3, צרו מאגר חדש (New repository) בשם כרצונכם.
4, בתוך המאגר, לחצו על “Add file → Create new file”
5, וקראו לקובץ:
gemini_email_bot.py
6, הדביקו בו את הקוד הבא
️: [ קוד הבוט (Python)]
import os
import imaplib
import email
import smtplib
import requests
from email.mime.text import MIMEText--- הגדרות קבועות ---
IMAP_SERVER = "imap.gmail.com"
SMTP_SERVER = "smtp.gmail.com"EMAIL_ACCOUNT = os.getenv("EMAIL_ACCOUNT")
EMAIL_PASSWORD = os.getenv("EMAIL_PASSWORD")
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")--- קבלת מיילים חדשים ---
def get_unread_emails():
try:
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
mail.login(EMAIL_ACCOUNT, EMAIL_PASSWORD)
mail.select("inbox")
result, data = mail.search(None, '(UNSEEN)')
unread_msg_nums = data[0].split()
messages = []for num in unread_msg_nums: result, msg_data = mail.fetch(num, "(RFC822)") raw_email = msg_data[0][1] msg = email.message_from_bytes(raw_email) sender = email.utils.parseaddr(msg["From"])[1] subject = msg["Subject"] if msg["Subject"] else "(ללא נושא)" body = "" if msg.is_multipart(): for part in msg.walk(): if part.get_content_type() == "text/plain": charset = part.get_content_charset() or "utf-8" body += part.get_payload(decode=True).decode(charset, errors="ignore") else: charset = msg.get_content_charset() or "utf-8" body += msg.get_payload(decode=True).decode(charset, errors="ignore") messages.append({"from": sender, "subject": subject, "body": body}) mail.logout() return messages except Exception as e: print(f"[!] Error fetching emails: {e}") return []--- שליחת מייל תשובה ---
def send_email(to_email, subject, body_text):
try:
formatted_text = body_text.replace('\n', '<br>')
html_body = f"""
<html>
<body style="direction: rtl; text-align: right; font-family: Arial, sans-serif;">
{formatted_text}
</body>
</html>
"""
msg = MIMEText(html_body, _subtype='html', _charset='utf-8')
msg['From'] = EMAIL_ACCOUNT
msg['To'] = to_email
msg['Subject'] = subjectwith smtplib.SMTP_SSL(SMTP_SERVER, 465) as server: server.login(EMAIL_ACCOUNT, EMAIL_PASSWORD) server.sendmail(EMAIL_ACCOUNT, to_email, msg.as_string()) print(f"[✔] Sent reply to {to_email}") except Exception as e: print(f"[!] Error sending email to {to_email}: {e}")--- קבלת תגובה מג'מיני ---
def get_gemini_reply(prompt):
try:
url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key={GEMINI_API_KEY}"
headers = {"Content-Type": "application/json"}
data = {"contents": [{"parts": [{"text": prompt}]}]}
response = requests.post(url, headers=headers, json=data)if response.status_code == 200: result = response.json() return result["candidates"][0]["content"]["parts"][0]["text"] else: print(f"[!] Gemini API error: {response.text}") return "אירעה שגיאה בעת יצירת התגובה." except Exception as e: print(f"[!] Error contacting Gemini API: {e}") return "שגיאה פנימית בתקשורת עם Gemini."--- הפעלת הבוט ---
def main():
print("Starting Gemini Email Bot...")
emails = get_unread_emails()
if not emails:
print("No new emails.")
returnfor msg in emails: print(f"[📩] New email from: {msg['from']}") print(f"Subject: {msg['subject']}") print(f"Body: {msg['body'][:100]}...") reply = get_gemini_reply(msg["body"]) send_email(msg["from"], f"Re: {msg['subject']}", reply)if name == "main":
main()7, לאחר מכן לחצו על Save / Commit changes (או Ctrl + S → ואז הכפתור הירוק).
שלב 4️⃣ – יצירת קובץ הפעולה (GitHub Actions)
1, חזרו למאגר שלכם ולחצו שוב על
“Add file → Create new file”
2, תנו לקובץ את השם הבא (כולל הנקודות והסלשים!):
.github/workflows/gemini_email_bot.yml
3, הדביקו את התוכן הבא
️: [ קובץ ההרצה (YAML)]
name: Gemini Email Bot
on:
schedule:
- cron: '*/2 * * * *' # ריצה כל 2 דקות
workflow_dispatch: # אפשר להריץ גם ידניתjobs:
run-bot:
runs-on: ubuntu-lateststeps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip pip install requests - name: Run Gemini Email Bot env: EMAIL_ACCOUNT: ${{ secrets.EMAIL_ACCOUNT }} EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }} GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} run: | echo "Starting Gemini Email Bot..." python gemini_email_bot.py echo "Bot finished successfully."
4, לאחר מכן שמרו את הקובץ בדיוק כמו קודם.
שלב 5️⃣ – הוספת הסודות (Secrets) במאגר
1, היכנסו לכרטיסייה Settings → בצד שמאל בחרו Secrets → Actions.
2, לחצו על “New repository secret” שלוש פעמים, ובכל פעם הוסיפו אחד מהבאים:
שם הסוד: EMAIL_ACCOUNT תוכן: כתובת המייל שפתחתם
שם הסוד: EMAIL_PASSWORD תוכן: סיסמת האפליקציה ששמרתם בשלב 1/4
שם הסוד: GEMINI_API_KEY תוכן: מפתח ה-API של Gemini
3, שמרו כל אחד מהם.
שלב 6️⃣ – הרצת הבוט
1, חזרו למאגר שלכם ולחצו על כרטיסיית Actions.
2, מצאו בצד שמאל את הפעולה בשם
3, “Gemini Email Bot” ולחצו עליה.
4, יופיע כפתור כחול “Run workflow” — לחצו עליו.
5, המתינו כדקה → אם תופיע שורה עם
️ ירוק — הצלחתם! 
מה הבוט עושה?מזהה מיילים חדשים בתיבת Gmail.
שולח את תוכן ההודעה ל-Gemini.
מחזיר תשובה אוטומטית ישירות לשולח — בעברית או בכל שפה אחרת.
תגובות ורגשות
אהבתם? סמנו לנו:
2
️
1


מעריך עבודה לציבורשלשום

השם יתברך
שלשום
האם הכל פתוח בנטפרי? תגובת מערכת: כן, תלוי באיזו הגדרות קהילה, גיטהאב לא נפתח בחדר מחשבים.
סקרן
שלשום
למה בעצם כל אחד צריך לפתוח לעצמו? אי אפשר שאחד עושה את כל התהליך הנ"ל ואז הוא מפרסם את מספר המייל של הצ'אט לכולם, אי אפשר שכולם ישתמשו עם מייל אחד? תגובת מערכת: יש הגבלה בגיטהאב על מספר דקות הרצה, ואם יהיו הרבה שאלות, זה יקח הרבה דקות, והדקות החינמיות ייגמרו מיד בתחילת החודש.
כל הזכויות שמורות לטשיקאווער ניוז..
נו מי מתנדב לפתוח לציבור הרחב?
או לפחות לי לבד... -
@0534182760 כתב בבקשה | צ'אט בינה מלאכותית במייל:
אם מישהו מצליח לעשות זאת שיעדכן
מדריך ליצירת צ'אט בינה מלאכותית באימיילגרסת הדגמה בלבד — המדריך עדיין לא מוכן סופית
פרטי המדריך, מה יקרה כאן?
א, יהיה לנו כתובת מייל שנתכתב איתה וזה יחזיר לנו תשובות AI אוטומטיות,
ב, נבנה סקריפט שקורא את כל ההודעות שלא נקראו בכתובת המייל שייעדנו לAI ומחזיר תשובות.
ג, כדי שהסקריפט ירוץ כל כמה דקות, נפתח חשבון בגיטהאב ושם נבנה סקריפט שמריץ סקריפטים אונליין, כל כמה דקות,
ד, חשוב לדעת, החשבון החינמי בגיטהאב נותן לנו 2000 דקות הרצה בחודש, כל ריצה של הסקריפט ללא אימיילים נכנסים לוקחת 15-17 שניות, וזה קורה כל 2-5 דקות, ריצה עם אימיילים נכנסים לוקח יותר זמן, לכן, יתכן ושווה לעשות שהסקריפט בגיטהאב ירוץ רק פעם בחמש דקות או יותר, ואז יישאר לנו דקות ריצה עד סוף החודש, ודו''ק...🧰 מה צריך?
1.
️ כתובת מייל משלכם2.כתובת מייל ייעודית לבינה המלאכותית.(שאיתה נתכתב...)
3.
חשבון ב-GitHub4.
מפתח API של Gemini (של גוגל)5.
חצי שעה פנויהשלב 1️⃣ – פתיחת כתובת מייל חדשה והכנת גישה מאובטחת
1, פתחו כתובת Gmail חדשה (רצוי ייעודית לבוט).
2, היכנסו אל הגדרות החשבון של Google → אבטחה → אימות דו־שלבי והפעילו אותו.
3, לאחר מכן, גשו לכתובת: https://myaccount.google.com/apppasswords

4, צרו סיסמת אפליקציה חדשה, תנו לה שם כלשהו (למשל “ChatBot”), ותקבלו מספר מילים באנגלית — זו הסיסמה לשימוש בתוכנה בלבד (לא סיסמת החשבון).
5, העתיקו ושמרו אותה בצד — נשתמש בה בהמשך.
שלב 2️⃣ - קבלת API פרטי של ג'מיני
1, היכנסו לכאן'קבלת API של ג'מיני'

2, וודאו שנכנסתם עם החשבון הייעודי לג'מיני
3, פיתחו פרוייקט חדש
4, קבלו API פרטי בשבילכם
5, כנסו לפרטי הAPI, והעתיקו את המפתח, נצטרך אותו לשלב 5/2
שלב 3️⃣ – יצירת המאגר והקוד ב-GitHub
1, היכנסו ל-GitHub

2, ופתחו חשבון (אם אין לכם).
3, צרו מאגר חדש (New repository) בשם כרצונכם.
4, בתוך המאגר, לחצו על “Add file → Create new file”
5, וקראו לקובץ:
gemini_email_bot.py
6, הדביקו בו את הקוד הבא
️: [ קוד הבוט (Python)]
import os
import imaplib
import email
import smtplib
import requests
from email.mime.text import MIMEText--- הגדרות קבועות ---
IMAP_SERVER = "imap.gmail.com"
SMTP_SERVER = "smtp.gmail.com"EMAIL_ACCOUNT = os.getenv("EMAIL_ACCOUNT")
EMAIL_PASSWORD = os.getenv("EMAIL_PASSWORD")
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")--- קבלת מיילים חדשים ---
def get_unread_emails():
try:
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
mail.login(EMAIL_ACCOUNT, EMAIL_PASSWORD)
mail.select("inbox")
result, data = mail.search(None, '(UNSEEN)')
unread_msg_nums = data[0].split()
messages = []for num in unread_msg_nums: result, msg_data = mail.fetch(num, "(RFC822)") raw_email = msg_data[0][1] msg = email.message_from_bytes(raw_email) sender = email.utils.parseaddr(msg["From"])[1] subject = msg["Subject"] if msg["Subject"] else "(ללא נושא)" body = "" if msg.is_multipart(): for part in msg.walk(): if part.get_content_type() == "text/plain": charset = part.get_content_charset() or "utf-8" body += part.get_payload(decode=True).decode(charset, errors="ignore") else: charset = msg.get_content_charset() or "utf-8" body += msg.get_payload(decode=True).decode(charset, errors="ignore") messages.append({"from": sender, "subject": subject, "body": body}) mail.logout() return messages except Exception as e: print(f"[!] Error fetching emails: {e}") return []--- שליחת מייל תשובה ---
def send_email(to_email, subject, body_text):
try:
formatted_text = body_text.replace('\n', '<br>')
html_body = f"""
<html>
<body style="direction: rtl; text-align: right; font-family: Arial, sans-serif;">
{formatted_text}
</body>
</html>
"""
msg = MIMEText(html_body, _subtype='html', _charset='utf-8')
msg['From'] = EMAIL_ACCOUNT
msg['To'] = to_email
msg['Subject'] = subjectwith smtplib.SMTP_SSL(SMTP_SERVER, 465) as server: server.login(EMAIL_ACCOUNT, EMAIL_PASSWORD) server.sendmail(EMAIL_ACCOUNT, to_email, msg.as_string()) print(f"[✔] Sent reply to {to_email}") except Exception as e: print(f"[!] Error sending email to {to_email}: {e}")--- קבלת תגובה מג'מיני ---
def get_gemini_reply(prompt):
try:
url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key={GEMINI_API_KEY}"
headers = {"Content-Type": "application/json"}
data = {"contents": [{"parts": [{"text": prompt}]}]}
response = requests.post(url, headers=headers, json=data)if response.status_code == 200: result = response.json() return result["candidates"][0]["content"]["parts"][0]["text"] else: print(f"[!] Gemini API error: {response.text}") return "אירעה שגיאה בעת יצירת התגובה." except Exception as e: print(f"[!] Error contacting Gemini API: {e}") return "שגיאה פנימית בתקשורת עם Gemini."--- הפעלת הבוט ---
def main():
print("Starting Gemini Email Bot...")
emails = get_unread_emails()
if not emails:
print("No new emails.")
returnfor msg in emails: print(f"[📩] New email from: {msg['from']}") print(f"Subject: {msg['subject']}") print(f"Body: {msg['body'][:100]}...") reply = get_gemini_reply(msg["body"]) send_email(msg["from"], f"Re: {msg['subject']}", reply)if name == "main":
main()7, לאחר מכן לחצו על Save / Commit changes (או Ctrl + S → ואז הכפתור הירוק).
שלב 4️⃣ – יצירת קובץ הפעולה (GitHub Actions)
1, חזרו למאגר שלכם ולחצו שוב על
“Add file → Create new file”
2, תנו לקובץ את השם הבא (כולל הנקודות והסלשים!):
.github/workflows/gemini_email_bot.yml
3, הדביקו את התוכן הבא
️: [ קובץ ההרצה (YAML)]
name: Gemini Email Bot
on:
schedule:
- cron: '*/2 * * * *' # ריצה כל 2 דקות
workflow_dispatch: # אפשר להריץ גם ידניתjobs:
run-bot:
runs-on: ubuntu-lateststeps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip pip install requests - name: Run Gemini Email Bot env: EMAIL_ACCOUNT: ${{ secrets.EMAIL_ACCOUNT }} EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }} GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} run: | echo "Starting Gemini Email Bot..." python gemini_email_bot.py echo "Bot finished successfully."
4, לאחר מכן שמרו את הקובץ בדיוק כמו קודם.
שלב 5️⃣ – הוספת הסודות (Secrets) במאגר
1, היכנסו לכרטיסייה Settings → בצד שמאל בחרו Secrets → Actions.
2, לחצו על “New repository secret” שלוש פעמים, ובכל פעם הוסיפו אחד מהבאים:
שם הסוד: EMAIL_ACCOUNT תוכן: כתובת המייל שפתחתם
שם הסוד: EMAIL_PASSWORD תוכן: סיסמת האפליקציה ששמרתם בשלב 1/4
שם הסוד: GEMINI_API_KEY תוכן: מפתח ה-API של Gemini
3, שמרו כל אחד מהם.
שלב 6️⃣ – הרצת הבוט
1, חזרו למאגר שלכם ולחצו על כרטיסיית Actions.
2, מצאו בצד שמאל את הפעולה בשם
3, “Gemini Email Bot” ולחצו עליה.
4, יופיע כפתור כחול “Run workflow” — לחצו עליו.
5, המתינו כדקה → אם תופיע שורה עם
️ ירוק — הצלחתם! 
מה הבוט עושה?מזהה מיילים חדשים בתיבת Gmail.
שולח את תוכן ההודעה ל-Gemini.
מחזיר תשובה אוטומטית ישירות לשולח — בעברית או בכל שפה אחרת.
תגובות ורגשות
אהבתם? סמנו לנו:
2
️
1


מעריך עבודה לציבורשלשום

השם יתברך
שלשום
האם הכל פתוח בנטפרי? תגובת מערכת: כן, תלוי באיזו הגדרות קהילה, גיטהאב לא נפתח בחדר מחשבים.
סקרן
שלשום
למה בעצם כל אחד צריך לפתוח לעצמו? אי אפשר שאחד עושה את כל התהליך הנ"ל ואז הוא מפרסם את מספר המייל של הצ'אט לכולם, אי אפשר שכולם ישתמשו עם מייל אחד? תגובת מערכת: יש הגבלה בגיטהאב על מספר דקות הרצה, ואם יהיו הרבה שאלות, זה יקח הרבה דקות, והדקות החינמיות ייגמרו מיד בתחילת החודש.
כל הזכויות שמורות לטשיקאווער ניוז..
נו מי מתנדב לפתוח לציבור הרחב?
או לפחות לי לבד...@א-סאדיגערער
בבינה כשרה יש כבר היום מסלול חינמי, עד חמש שאלות ביום.
הם כותבים שאם יבואו ל1500 משתמשים הם יעשו את זה חינם לגמרי. -
אין אפשרות של התכתבות עם ג'ימיני במייל?, אתה שולח מייל לכתובת מסוייימת והוא משיב לך... זה דבר שלא צריך להיות כ"כ מסובך.... יש דבר כזה?
0534182760 כתב בבקשה | צ'אט בינה מלאכותית במייל:
אין אפשרות של התכתבות עם ג'ימיני במייל?, אתה שולח מייל לכתובת מסוייימת והוא משיב לך... זה דבר שלא צריך להיות כ"כ מסובך.... יש דבר כזה?
לא מזמן יצרתי כזה דבר אבל זה עדיין לא ממש מוכן, אם הרבה אנשים ירצו אולי אני ימשיך לעבוד על זה מתישהו.
וזה לא יוצר תמונות כרגע אין לי מושג אם אפשר בכלל עם API של ג'מיני...@ע-ה-דכו-ע כתב בבקשה | צ'אט בינה מלאכותית במייל:
@ניהול-כספים כתב בבקשה | צ'אט בינה מלאכותית במייל:
@מגנוס-קרלסן
מה זה בינה כשרה
אשמח ליותר פרטיםלא מצליח להירשם, כותב שגיאה.
-
0534182760 כתב בבקשה | צ'אט בינה מלאכותית במייל:
אין אפשרות של התכתבות עם ג'ימיני במייל?, אתה שולח מייל לכתובת מסוייימת והוא משיב לך... זה דבר שלא צריך להיות כ"כ מסובך.... יש דבר כזה?
לא מזמן יצרתי כזה דבר אבל זה עדיין לא ממש מוכן, אם הרבה אנשים ירצו אולי אני ימשיך לעבוד על זה מתישהו.
וזה לא יוצר תמונות כרגע אין לי מושג אם אפשר בכלל עם API של ג'מיני...@ע-ה-דכו-ע כתב בבקשה | צ'אט בינה מלאכותית במייל:
@ניהול-כספים כתב בבקשה | צ'אט בינה מלאכותית במייל:
@מגנוס-קרלסן
מה זה בינה כשרה
אשמח ליותר פרטיםלא מצליח להירשם, כותב שגיאה.
@חטח
זה כתובת הרישום:
bina.cshera@gmail.com
צריך לשלוח מייל ריק ואתה נרשמת.
המייל של העוזר AI החינמי:
free@app.bina-cshera.co.il -
@חטח
זה כתובת הרישום:
bina.cshera@gmail.com
צריך לשלוח מייל ריק ואתה נרשמת.
המייל של העוזר AI החינמי:
free@app.bina-cshera.co.il@מענין-לשמוע לא הולך
-
@מענין-לשמוע לא הולך
@0534182760 כתב בבקשה | צ'אט בינה מלאכותית במייל:
@מענין-לשמוע לא הולך
לי עובד.
שלח מייל חד"פ לכאן bina.cshera@gmail.com ואז לכאן אתה כותב את השאלה free@app.bina-cshera.co.il