אם מישהו מצליח לעשות זאת שיעדכן
מדריך ליצירת צ'אט בינה מלאכותית באימייל
גרסת הדגמה בלבד — המדריך עדיין לא מוכן סופית
פרטי המדריך, מה יקרה כאן?
א, יהיה לנו כתובת מייל שנתכתב איתה וזה יחזיר לנו תשובות AI אוטומטיות,
ב, נבנה סקריפט שקורא את כל ההודעות שלא נקראו בכתובת המייל שייעדנו לAI ומחזיר תשובות.
ג, כדי שהסקריפט ירוץ כל כמה דקות, נפתח חשבון בגיטהאב ושם נבנה סקריפט שמריץ סקריפטים אונליין, כל כמה דקות,
ד, חשוב לדעת, החשבון החינמי בגיטהאב נותן לנו 2000 דקות הרצה בחודש, כל ריצה של הסקריפט ללא אימיילים נכנסים לוקחת 15-17 שניות, וזה קורה כל 2-5 דקות, ריצה עם אימיילים נכנסים לוקח יותר זמן, לכן, יתכן ושווה לעשות שהסקריפט בגיטהאב ירוץ רק פעם בחמש דקות או יותר, ואז יישאר לנו דקות ריצה עד סוף החודש, ודו''ק...
🧰 מה צריך?
1.
️ כתובת מייל משלכם
2.כתובת מייל ייעודית לבינה המלאכותית.(שאיתה נתכתב...)
3.
חשבון ב-GitHub
4.
מפתח 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'] = subject
with 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.")
return
for 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-latest
steps:
- 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


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

השם יתברך
שלשום
האם הכל פתוח בנטפרי? תגובת מערכת: כן, תלוי באיזו הגדרות קהילה, גיטהאב לא נפתח בחדר מחשבים.
סקרן
שלשום
למה בעצם כל אחד צריך לפתוח לעצמו? אי אפשר שאחד עושה את כל התהליך הנ"ל ואז הוא מפרסם את מספר המייל של הצ'אט לכולם, אי אפשר שכולם ישתמשו עם מייל אחד? תגובת מערכת: יש הגבלה בגיטהאב על מספר דקות הרצה, ואם יהיו הרבה שאלות, זה יקח הרבה דקות, והדקות החינמיות ייגמרו מיד בתחילת החודש.
כל הזכויות שמורות לטשיקאווער ניוז..