التنزيل

سطر الأوامر (معاينة للمطوّرين)

الأمر foldmail: حالته الحالية، وأوامره، وخياراته، وملفات القواعد، ورموز الخروج.

معاينة للمطوّرين. foldmail غير مضمَّن في تطبيق FOLD. وهو موجود حاليًا بنيةً مبنية من شيفرة FOLD المصدرية لأغراض التطوير والاختبار. ويعمل على مخزن بيانات محلي خاص به، لا على بيانات تطبيق FOLD التي تحفظها بيئة العزل (sandbox) في macOS داخل حاوية التطبيق. لذا لا يرى سطر الأوامر البريد الموجود في التطبيق، ولا يرسل التطبيق البريد الذي يضعه سطر الأوامر في قائمة الانتظار. ورسائله ونص المساعدة فيه باللغة الألمانية حاليًا.

تصف هذه الصفحة ما تفعله المعاينة اليوم. وقد تتغير الأوامر والخيارات والمخرجات قبل أن يصدر سطر الأوامر.

الأوامر

الأمرما يفعله
foldmail accountsيسرد الحسابات
foldmail mailboxes --account <name>يسرد مجلدات حساب مع أعداد الرسائل غير المقروءة والإجمالية
foldmail search <query>يبحث باستخدام صياغة البحث؛ وlist اسم بديل له
foldmail read <id>يعرض رسالة؛ و--headers يستبعد النص. ودون متن مخزّن محليًا، تُعرض المعاينة
foldmail flag <id…> --add <flag> --remove <flag>يضبط علامات IMAP (flags)‎ والعلامات (tags) أو يزيلها، مثل \Seen أو \Flagged أو important؛ ويمكن تكرار الخيارين كليهما
foldmail delete <id…>يزيل رسائل من المخزن المحلي؛ ويلزم تحديد المعرّفات صراحةً
foldmail compose --from <addr> --to <addr>يبني الرسالة ويكتبها إلى المخرج القياسي
foldmail send --account <name> --from <addr> --to <addr>مثل compose --enqueue: يضع الرسالة في صندوق الصادر
foldmail outbox list --account <name>يسرد صندوق الصادر
foldmail outbox cancel <id>يسحب رسالة منتظرة من صندوق الصادر
foldmail filter run --rules <file>ينفّذ ملف قواعد؛ معاينةً ما لم يُعطَ --apply
foldmail helpيعرض المساعدة؛ وكذلك foldmail دون وسائط

لا يرسل سطر الأوامر البريد بنفسه. فالأمران send وcompose --enqueue لا يفعلان سوى وضع الرسالة في صندوق الصادر الخاص بسطر الأوامر؛ ولا يسلّمها foldmail، ولا يقرأ تطبيق FOLD صندوق الصادر ذاك. ولا تزال المساعدة المدمجة تعرض أمثلتها بالأمر fold؛ أما الأمر الصحيح فهو foldmail.

الخيارات

الخياريُستخدم معالمعنى
--jsonالكلالمخرجات بصيغة JSON (بإزاحة، ومفاتيح مرتبة، وتواريخ ISO 8601). ولا تحمل البنية رقم إصدار بعد
--quietالكلالمعرّفات فقط، أو عدد الرسائل التي تغيّرت فقط
--limit <n>searchالحد الأقصى لعدد النتائج، والافتراضي 100
--offset <n>searchيتخطى أول n نتيجة
--account <name>mailboxes، send، compose --enqueue، outbox listاسم عرض الحساب أو عنوانه
--headersreadالرؤوس فقط
--add، --remove <flag>flagعلامة IMAP أو العلامة (tag) المراد ضبطها أو إزالتها
--from، --to، --cc، --bcc، --subject، --bodycompose، sendحقول الرسالة؛ ويمكن تكرار --to و--cc و--bcc. ودون --body تشكّل الوسائط المتبقية النص
--enqueuecomposeالإدراج في قائمة الانتظار بدلًا من الطباعة
--delay <seconds>send، compose --enqueueالانتظار قبل الإرسال، مهلةً للتراجع
--rules <file>filter runملف قواعد بصيغة JSON
--applyfilter runتطبيق القواعد بدلًا من معاينتها

في سطر الأوامر، يصفّي account: وfrom-account: حسب اسم عرض الحساب أو عنوانه. أما in: فبلا أثر هنا أيضًا.

مرّر الاستعلام وسيطًا واحدًا بين علامتي تنصيص. فالوسيط المنفصل الذي يبدأ بعلامة ناقص يُقرأ خيارًا ويُهمَل، لذا اكتب foldmail search 'from:anna -is:read'، أو ضع -- قبل استعلام يبدأ بعلامة ناقص: foldmail search -- '-is:read'.

ملفات القواعد

يقرأ filter run قواعد بالبنية نفسها التي تستخدمها قواعد التصفية في التطبيق، مكتوبةً بصيغة JSON:

{
  "schemaVersion": 1,
  "rules": [
    {
      "name": "Newsletters",
      "match": "from:[email protected]",
      "actions": [{ "type": "markRead" }, { "type": "addFlag", "flag": "newsletter" }],
      "stopOnMatch": false
    }
  ]
}

أنواع الإجراءات: markRead، وmarkUnread، وaddFlag وremoveFlag (مع flag)، وdelete، وmove (مع mailbox)، وforward (مع to، وهي قائمة)، وautoReply (مع body). ومع --apply يُرفض ملف القواعد الذي يحتوي على move أو forward أو autoReply قبل أن يتغير أي شيء؛ لكن المعاينة تظل تعرض تطابقاته.

رموز الخروج

الرمزالمعنى
0نجاح
1خطأ عام، مثل تعذّر فتح المخزن، أو عامل بحث غير مدعوم (has:attachment)، أو متن رسالة أو مرفق غير متاح، أو إدخال في صندوق الصادر لم يعد ممكنًا إلغاؤه
2خطأ في الاستخدام: أمر غير معروف، أو خيار أو قيمة خيار مفقودة، أو ملف قواعد غير قابل للقراءة، أو استعلام أو معرّف رسالة غير صالح
3لم يُعثر على شيء: نتيجة فارغة، أو رسالة أو مجلد غير معروف، أو لم تتطابق أي قاعدة
4بيانات الرسالة غير مكتملة أو غير قابلة للقراءة

إذا كان حساب في مخزن سطر الأوامر يستخدم وضع Fortress، يرفض foldmail العمل ويخرج بالرمز 1، فلا يكتب أبدًا بيانات غير مشفّرة في مخزن مشفّر.

أمثلة

foldmail search 'from:anna is:unread' --json
foldmail search 'is:unread' --quiet | xargs foldmail flag --add '\Seen'
foldmail compose --from [email protected] --to [email protected] --subject Hi --body 'Test' > mail.eml
foldmail filter run --rules ~/rules.json
foldmail filter run --rules ~/rules.json --apply