gmail-cli: بريد إلكتروني عبر الأنظمة الأساسية من سطر الأوامر

الدور: المطور

التقنيات: بايثون 3، Gmail SMTP، واجهة سطر الأوامر (CLI) عبر الأنظمة الأساسية

المنصات: ماك، لينكس، ويندوز

أداة Python ذات الاعتمادية الصفرية التي تتيح لك إرسال رسائل البريد الإلكتروني من سطر الأوامر باستخدام Gmail SMTP. التثبيت باستخدام أمر واحد، والتكوين مرة واحدة، وإرسال رسائل البريد الإلكتروني من البرامج النصية، أو سير عمل الأتمتة، أو وكلاء الذكاء الاصطناعي.

المشكلة

لقد كان إرسال رسائل البريد الإلكتروني من سطر الأوامر أمرًا مؤلمًا تقليديًا:

كنت بحاجة إلى طريقة بسيطة لإرسال رسائل البريد الإلكتروني من البرامج النصية للأتمتة، ووكلاء الذكاء الاصطناعي، وخطوط أنابيب CI/CD دون صعوبة تكوين خادم البريد. تتمتع خوادم SMTP في Gmail بإمكانية تسليم ممتازة، وتوفر كلمات مرور التطبيقات مصادقة آمنة دون الكشف عن كلمة مرور حسابك الرئيسي.

الحل

gmail-cli هو ملف Python واحد بدون أي تبعيات خارجية ويعمل على أي نظام يستخدم Python 3. ويستخدم خوادم SMTP الخاصة بـ Gmail للتسليم الموثوق به ويخزن بيانات الاعتماد بشكل آمن في الدليل الرئيسي الخاص بك.

التثبيت على خط واحد

ماك / لينكس

curl -sSL https://colinknapp.com/tools/gmail-cli/install.sh | bash

ويندوز باورشيل

iwr -useb https://colinknapp.com/tools/gmail-cli/install.ps1 | iex

يقوم المثبت بتنزيل البرنامج النصي إلى ~/.local/bin (يونكس) أو %LOCALAPPDATA%\gmail-cli (Windows) ويضيفه إلى المسار الخاص بك.

الإعداد: كلمة مرور تطبيق Gmail

يتطلب Gmail كلمة مرور التطبيق للوصول إلى SMTP (لن تعمل كلمة المرور العادية مع تمكين المصادقة الثنائية). وإليك كيفية إعداد واحدة:

  1. اذهب الى myaccount.google.com/apppasswords
  2. قم بتمكين التحقق بخطوتين إذا لم تقم بذلك بالفعل
  3. إنشاء كلمة مرور التطبيق لـ "البريد"
  4. تشغيل gmail-cli configure وأدخل عنوان Gmail وكلمة مرور التطبيق
gmail-cli configure
Gmail CLI Configuration
----------------------------------------

You'll need a Gmail App Password:
1. Go to https://myaccount.google.com/apppasswords
2. Enable 2-Step Verification if needed
3. Generate an App Password for 'Mail'

Gmail address: yourname@gmail.com
App Password (will be stored locally): xxxx xxxx xxxx xxxx

Configuration saved to /home/user/.config/gmail-cli/config.json

أمثلة الاستخدام

البريد الإلكتروني البسيط

gmail-cli send recipient@example.com -s "Hello" -b "Hi there!"

البريد الإلكتروني مع المرفقات

gmail-cli send recipient@example.com \
  -s "Weekly Report" \
  -b "Please find the report attached." \
  -a report.pdf \
  -a data.csv

محتوى الأنابيب من stdin

cat logfile.txt | gmail-cli send admin@example.com -s "Server Logs"

اتصال الاختبار

gmail-cli test
Testing connection for yourname@gmail.com...
Success! Connection and authentication working.

حالة الاستخدام في العالم الحقيقي: البريد الإلكتروني لوكيل الذكاء الاصطناعي

لقد قمت بتصميم هذه الأداة خصيصًا للاستخدام مع عوامل ترميز الذكاء الاصطناعي مثل Cursor. عندما أحتاج إلى إرسال بريد إلكتروني يحتوي على مرفقات بتنسيق PDF، يمكن لعامل الذكاء الاصطناعي إنشاء الرسالة وإرسالها مباشرةً:

gmail-cli send recipient@example.com \
  -s "Documents Attached" \
  -b "Hi,

Please find the requested documents attached.

Best regards,
Your Name" \
  -a document1.pdf \
  -a document2.pdf

يتيح ذلك التشغيل الآلي الشامل: يمكن للذكاء الاصطناعي إنشاء المستندات وإنشاء ملفات PDF وإرسالها عبر البريد الإلكتروني دون تدخل بشري.

التنفيذ الفني

الهندسة المعمارية

الاعتبارات الأمنية

الدعم عبر الأنظمة الأساسية

تتعامل الأداة مع اختلافات النظام الأساسي تلقائيًا:

مرجع القيادة

القيادة الوصف
gmail-cli configure إعداد بيانات اعتماد Gmail (تفاعلية)
gmail-cli configure --email x --password y قم بتعيين بيانات الاعتماد بشكل غير تفاعلي
gmail-cli send TO -s SUBJ -b BODY إرسال بريد إلكتروني
gmail-cli send TO -s SUBJ -a FILE إرسال مع المرفقات
gmail-cli test اختبار اتصال SMTP
gmail-cli config إظهار التكوين الحالي

التكامل مع الأتمتة

يعمل Gmail-cli بسلاسة مع:

مثال: تقرير النسخ الاحتياطي اليومي

#!/bin/bash
# backup-report.sh - Run daily via cron

BACKUP_LOG="/var/log/backup.log"
RECIPIENT="admin@example.com"

if [ -f "$BACKUP_LOG" ]; then
    cat "$BACKUP_LOG" | gmail-cli send "$RECIPIENT" \
        -s "Daily Backup Report - $(date +%Y-%m-%d)"
fi

لماذا لا تستخدم الأدوات الموجودة؟

بديل قضية
إرسال البريد/postfix يتطلب الجذر، والتكوين المعقد، ومشاكل التسليم
com.msmtp التبعية الخارجية، بناء جملة ملف التكوين
ميلكس/البريد خاص بالنظام الأساسي، ويتطلب MTA محليًا
بايثون smtplib مباشرة كود معياري، لا توجد واجهة CLI

يوفر gmail-cli بساطة أداة واجهة سطر الأوامر (CLI) مع موثوقية البنية الأساسية لـ Gmail، وهي مغلفة بحزمة خالية من التبعية تعمل في كل مكان تعمل فيه Python.

الملاحظات

  1. تعمل عمليات التثبيت ذات الخطوط الواحدة: ال curl | bash على الرغم من أن هذا النمط مثير للجدل، إلا أنه يقلل بشكل كبير من الاحتكاك بأدوات المطورين
  2. Gmail SMTP موثوق به: تتمتع خوادم Google بإمكانية تسليم ووقت تشغيل ممتازين
  3. يتم التقليل من أهمية كلمات مرور التطبيقات: أنها توفر وصولاً محددًا دون الكشف عن بيانات الاعتماد الرئيسية الخاصة بك
  4. المسائل المتعلقة بالمنصات المشتركة: تعمل الأداة بشكل مماثل على أنظمة التشغيل macOS وLinux وWindows، مما يوفر الوثائق وجهود الدعم
  5. يحتاج وكلاء الذكاء الاصطناعي إلى البريد الإلكتروني: مع نمو الأتمتة التي تعتمد على LLM، يصبح البريد الإلكتروني البسيط ذو قيمة متزايدة

Get Started

قم بتثبيت gmail-cli وابدأ في إرسال رسائل البريد الإلكتروني من جهازك الطرفي:

# Install (macOS/Linux)
curl -sSL https://colinknapp.com/tools/gmail-cli/install.sh | bash

# Configure
gmail-cli configure

# Send your first email
gmail-cli send yourself@gmail.com -s "Test" -b "It works!"