سطر الأوامر (معاينة للمطوّرين)
الأمر 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 | اسم عرض الحساب أو عنوانه |
--headers | read | الرؤوس فقط |
--add، --remove <flag> | flag | علامة IMAP أو العلامة (tag) المراد ضبطها أو إزالتها |
--from، --to، --cc، --bcc، --subject، --body | compose، send | حقول الرسالة؛ ويمكن تكرار --to و--cc و--bcc. ودون --body تشكّل الوسائط المتبقية النص |
--enqueue | compose | الإدراج في قائمة الانتظار بدلًا من الطباعة |
--delay <seconds> | send، compose --enqueue | الانتظار قبل الإرسال، مهلةً للتراجع |
--rules <file> | filter run | ملف قواعد بصيغة JSON |
--apply | filter 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