.\" SPDX-FileCopyrightText: 2000-2002 Michael R. Elkins .\" SPDX-FileCopyrightText: 2002-2022 Oswald Buddenhagen .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" mbsync - mailbox synchronizer . .TH mbsync 1 2025-08-11 "isync 1.5.1" "User Commands" . .SH "نام (NAME)" mbsync \- همگام‌سازی صندوق‌های پستی IMAP4 و Maildir . .SH "خلاصه دستور (SYNOPSIS)" \fBmbsync\fR [\fIoptions\fR ...] {{\fIchannel\fR[\fB:\fIbox\fR[{\fB,\fR|\fB\\n\fR}...]]|\fIgroup\fR} ...|\fB-a\fR} .br \fBmbsync\fR --list-stores [\fIoptions\fR ...] [\fIstore\fR ...] . .SH "توضیحات (DESCRIPTION)" برنامهٔ \fBmbsync\fR یک ابزار خط فرمانی برای همگام‌سازی صندوق‌های پستی است؛ در حال حاضر صندوق‌های پستی Maildir و IMAP4 پشتیبانی می‌شوند. پیام‌های جدید، پیام‌های حذف‌شده و تغییرات پرچم‌ها (flags) را می‌توان در هر دو جهت منتقل کرد؛ مجموعه عملیات را می‌توان با دقتی بالا و تفکیک‌شده انتخاب نمود. .br همگام‌سازی بر اساس شناسه‌های یکتای پیام (UIDها) انجام می‌شود، بنابراین هیچ تداخلی در شناسایی رخ نخواهد داد (برخلاف برخی دیگر از ابزارهای همگام‌ساز ایمیل). از سوی دیگر، \fBmbsync\fR در برابر تغییرات اعتبار UID (شناسه UID validity) حساس است (اما اگر این تغییر بی‌اساس باشد، به‌خوبی بازیابی خواهد شد). وضعیت همگام‌سازی در یک فایل متنی محلی به ازای هر جفت صندوق پستی نگهداری می‌شود؛ این فایل‌ها در برابر اجرای هم‌زمان فرایندهای \fBmbsync\fR محافظت شده‌اند. صندوق‌های پستی را می‌توان در حین اجرای \fBmbsync\fR با اطمینان تغییر داد (برای یک استثنای جزئی، به بخش \fBINHERENT PROBLEMS\fR در ادامه مراجعه کنید). امکان نگهداری چندین رونوشت از هر صندوق پستی وجود دارد. . .SH "گزینه‌ها (OPTIONS)" .TP \fB-c\fR, \fB--config\fR \fIfile\fR خواندن پیکربندی از \fIfile\fR. به‌طور پیش‌فرض، پیکربندی از مسیر $XDG_CONFIG_HOME/isyncrc خوانده می‌شود، و اگر آن فایل وجود نداشته باشد، مسیر ~/.mbsyncrc بررسی می‌شود. در صورت تنظیم نشدن $XDG_CONFIG_HOME، مقدار پیش‌فرض آن ~/.config خواهد بود. .TP \fB-a\fR, \fB--all\fR انتخاب تمام Channelهای پیکربندی‌شده. هرگونه تعیین Channel/Group در خط فرمان نادیده گرفته می‌شود. .TP \fB-l\fR, \fB--list\fR هیچ‌چیز همگام‌سازی نشود، بلکه تنها فهرستی از تمام صندوق‌های پستی در Channelهای انتخاب‌شده نمایش داده شده و برنامه خارج شود. .TP \fB-ls\fR, \fB--list-stores\fR هیچ‌چیز همگام‌سازی نشود، بلکه تمام صندوق‌های پستی موجود در Storeهای انتخاب‌شده فهرست شده و برنامه خارج شود. اگر هیچ Storeی مشخص نشده باشد، تمام موارد پیکربندی‌شده فهرست می‌شوند. این‌ها محتوای خام Store هستند که با \fBPatterns\fR هیچ Channelی فیلتر نشده‌اند. این گزینه می‌تواند برای اعتبارسنجی پیکربندی هر Store استفاده شود. .TP \fB-C\fR[\fBf\fR][\fBn\fR], \fB--create\fR[\fB-far\fR|\fB-near\fR] بازنویسی گزینه‌های \fBCreate\fR مشخص‌شده در فایل پیکربندی. در ادامه را ببینید. .TP \fB-R\fR[\fBf\fR][\fBn\fR], \fB--remove\fR[\fB-far\fR|\fB-near\fR] بازنویسی گزینه‌های \fBRemove\fR مشخص‌شده در فایل پیکربندی. در ادامه را ببینید. .TP \fB-X\fR[\fBf\fR][\fBn\fR], \fB--expunge\fR[\fB-far\fR|\fB-near\fR] بازنویسی گزینه‌های \fBExpunge\fR مشخص‌شده در فایل پیکربندی. در ادامه را ببینید. .TP {\fB-n\fR|\fB-o\fR|\fB-u\fR|\fB-g\fR|\fB-f\fR|\fB-0\fR|\fB-F\fR},\ {\fB--new\fR|\fB--old\fR|\fB--upgrade\fR|\fB--gone\fR|\fB--flags\fR|\fB--noop\fR|\fB--full\fR} .TP \r{\fB-L\fR|\fB-H\fR}[\fBn\fR][\fBo\fR][\fBu\fR][\fBg\fR][\fBf\fR],\ {\fB--pull\fR|\fB--push\fR}[\fB-new\fR|\fB-old\fR|\fB-upgrade\fR|\fB-gone\fR|\fB-flags\fR] بازنویسی گزینه‌های \fBSync\fR مشخص‌شده در فایل پیکربندی. در ادامه را ببینید. .TP \fB-h\fR, \fB--help\fR نمایش خلاصه‌ای از گزینه‌های خط فرمان. .TP \fB-v\fR, \fB--version\fR نمایش اطلاعات نگارش. .TP \fB-y\fR, \fB--dry-run\fR ورود به حالت شبیه‌سازی: وضعیت Channel بررسی شده و تمام عملیات لازم تعیین می‌شوند، اما در عمل هیچ تغییری نه در صندوق‌های پستی و نه در فایل‌های وضعیت اعمال نخواهد شد. .TP \fB-e\fR, \fB--ext-exit\fR بازگرداندن یک کد خروج گسترش‌یافته: در صورتی که هرگونه تغییری به ترتیب در سمت far یا near اعمال شده باشد، ۳۲ یا ۶۴ به کد خروج اضافه می‌شود؛ این دو مانعة‌الجمع نیستند، بنابراین اگر تغییرات هم push و هم pull شده باشند، کد خروج ممکن است ۹۶ باشد. ممکن است هم‌زمان خطایی نیز گزارش شود؛ به عنوان مثال اگر برخی تغییرات با موفقیت pull شده باشند ولی تغییرات دیگر با شکست مواجه شوند، کد ممکن است ۶۵ باشد. .TP \fB-V\fR, \fB--verbose\fR فعال‌سازی حالت پرگو (\fIverbose\fR)، که رویدادهای در حال وقوع را نمایش می‌دهد. .TP \fB-D\fR[\fBC\fR][\fBd\fR|\fBD\fR][\fBm\fR][\fBM\fR][\fBn\fR|\fBN\fR][\fBs\fR]\fR]\fR,\ \fB--debug\fR[\fB-crash\fR|\fB-driver\fR|\fB-driver-all\fR|\fB-maildir\fR|\fB-main\fR|\fB-net\fR|\fB-net-all\fR|\fB-sync\fR] فعال‌سازی دسته‌بندی‌های اشکال‌زدایی: .in +4 \fBC\fR, \fBcrash\fR \- استفاده از مدیر خرابی توکار (built-in crash handler) .br \fBd\fR, \fBdriver\fR \- چاپ فراخوانی‌های درایور (فقط فراداده) .br \fBD\fR, \fBdriver-all\fR \- چاپ فراخوانی‌های درایور (شامل پیام‌ها) .br \fBm\fR, \fBmaildir\fR \- چاپ اطلاعات اشکال‌زدایی maildir .br \fBM\fR, \fBmain\fR \- چاپ اطلاعات اشکال‌زدایی main .br \fBn\fR, \fBnet\fR \- چاپ ترافیک شبکه (فقط پروتکل) .br \fBN\fR, \fBnet-all\fR \- چاپ ترافیک شبکه (شامل محتوای داده‌ها/payloads) .br \fBs\fR, \fBsync\fR \- چاپ اطلاعات اشکال‌زدایی همگام‌سازی .in -4 تمام دسته‌ها به‌جز \fBcrash\fR حالت \fIverbose\fR را به‌طور ضمنی فعال می‌کنند. در صورت عدم مشخص کردن دسته‌ها، تمام دسته‌ها به‌جز net-all فعال خواهند شد. .TP \fB-q\fR, \fB--quiet\fR جلوگیری از نمایش شمارنده‌های پیشرفت (اگر خروجی استاندارد یک TTY نباشد، یا هر یک از دسته‌های اشکال‌زدایی فعال باشند، این حالت ضمنی است)، اعلان‌ها و خلاصه. در صورت تعیین این گزینه برای دو بار، پیام‌های هشدار نیز نمایش داده نخواهند شد. ..SH "پیکربندی (CONFIGURATION)" فایل پیکربندی الزامی است؛ \fBmbsync\fR بدون آن اجرا نخواهد شد. خطوطی که با علامت هش (\fB#\fR) آغاز می‌شوند توضیح بوده و به‌طور کامل نادیده گرفته می‌شوند. موارد پیکربندی کلمات کلیدی هستند که در ادامهٔ آن‌ها یک یا چند آرگومان می‌آید؛ آرگومان‌های حاوی فاصله‌نما باید در دو گیومه (\fB"\fR) محصور شوند، و خود گیومه‌ها و بک‌اسلش‌های (\fB\\\fR) صریح باید با بک‌اسلش گریز (escape) داده شوند. تمامی کلمات کلیدی (از جمله مواردی که به‌عنوان آرگومان استفاده می‌شوند) به حروف بزرگ و کوچک حساس نیستند. بسط دایرکتوری خانگی به سبک Bash با استفاده از علامت مد (\fB~\fR) در تمامی گزینه‌هایی که نمایانگر مسیرهای محلی هستند پشتیبانی می‌شود. نقطه مرجع برای مسیرهای محلی نسبی، دایرکتوریِ حاوی فایل پیکربندی است. چند گزینهٔ سراسری وجود دارد؛ سایر گزینه‌ها به بخش‌های مشخصی اعمال می‌شوند. بخش‌ها با یک کلمه کلیدی آغازگرِ بخش شروع شده و با یک خط خالی یا پایان فایل خاتمه می‌یابند. هر بخش شیئی را با یک شناسهٔ یکتا در آن کلاس شیء تعریف می‌کند. .P دو کلاس شیء پایه وجود دارد: Stores و Channels. یک Store مجموعه‌ای از صندوق‌های پستی را تعریف می‌کند؛ اساساً یک پوشه، چه محلی یا از راه دور. یک Channel دو Store را به هم متصل کرده و شیوهٔ همگام‌سازی آن دو را شرح می‌دهد. .br دو کلاس شیء کمکی وجود دارد: Accounts و Groups. یک Account بخش اتصال Storeهای شبکه را شرح می‌دهد تا پیکربندی‌های کارساز بتواند میان چندین Store به اشتراک گذاشته شود. یک Group چندین Channel را تجمیع می‌کند تا از تایپ مجدد در خط فرمان صرفه‌جویی شود. .P مکان‌های فایل‌سیستمی (به‌ویژه \fBPath\fR و \fBInbox\fR) از جداکننده‌های مسیر درونی Store استفاده می‌کنند که ممکن است اسلش، نقطه و غیره یا حتی ترکیبی از آن‌ها باشد. .br در مقابل، نام‌های صندوق پستی همواره از جداکننده‌های مسیر متعارف که همان اسلش‌های رو به جلو به سبک یونیکس هستند استفاده می‌کنند. . .SS "همه Storeها (All Stores)" این گزینه‌ها می‌توانند در تمام انواع پشتیبانی‌شدهٔ Store استفاده شوند. .br اصطلاح «Store مقابل» (opposite Store) به Store دیگر درون یک Channel اشاره دارد. .br صندوق پستی ویژهٔ \fBINBOX\fR در هر Store وجود دارد؛ مکان فیزیکی آن در فایل‌سیستم وابسته به نوع Store است. . .TP \fBPath\fR \fIpath\fR مکان Store در فایل‌سیستم (کارساز). اگر این یک مسیر مطلق نباشد، نقطه مرجع وابسته به نوع Store خواهد بود. این رشته به ابتدای نام‌های صندوق پستیِ مورد خطاب در این Store اضافه می‌شود، اما بخشی از آن‌ها به شمار نمی‌آید؛ این موضوع برای \fBPatterns\fR و \fBCreate\fR در بخش Channels اهمیت دارد. توجه داشته باشید که اگر می‌خواهید یک دایرکتوری کامل را مشخص کنید، \fBباید\fR یک اسلش به انتهای آن بیافزایید. (پیش‌فرض: none) . .TP \fBMaxSize\fR \fIsize\fR[\fBk\fR|\fBm\fR][\fBb\fR] برای پیام‌های بزرگ‌تر از \fIsize\fR تنها یک پیام جای‌نگهدار کوچک به این Store منتقل خواهد شد. این ویژگی برای جلوگیری از بارگیری پیام‌های دارای پیوست‌های حجیم مفید است، مگر اینکه واقعاً به آن‌ها نیاز باشد. برای ارتقای جای‌نگهدار به پیام کامل، باید روی پیام نشان (flag) زده شود و عملیات \fBUpgrade\fR اجرا گردد. هشدارها: تعیین محدودیت اندازه روی یک Store که هرگز آن را مستقیماً نمی‌خوانید (که معمولاً در مورد کارسازها صدق می‌کند) توصیه نمی‌شود، زیرا ممکن است هرگز متوجه نشوید که پیام‌های مربوطه به آن منتقل نشده‌اند. همچنین از آنجا که از نشانه‌گذاری برای درخواست ارتقا استفاده می‌شود، تغییرات در وضعیت نشان پیام تا زمان ارتقای جای‌نگهدار در هیچ سمتی منتقل نخواهد شد. .br می‌توان \fBK\fR و \fBM\fR را به اندازه الحاق کرد تا به‌ترتیب کیبی‌بایت و مبی‌بایت را به جای بایت مشخص کنند. \fBB\fR پذیرفته می‌شود اما اضافی است. اگر \fIsize\fR برابر با 0 باشد، حداکثر اندازه پیام \fBunlimited\fR (نامحدود) خواهد بود. (پیش‌فرض: \fI0\fR) . .TP \fBMapInbox\fR \fImailbox\fR یک صندوق پستی مجازی (نسبت به \fBPath\fR) ایجاد می‌کند که نام مستعاری برای \fBINBOX\fR است. این مورد همراه با \fBPatterns\fR در بخش Channels کاربرد دارد، هرچند با وجود یک سمت نزدیک از نوع Maildir، احتمالاً ترجیح می‌دهید \fBInbox\fR را درون \fBPath\fR قرار دهید. این صندوق پستی مجازی از زیرپوشه‌ها پشتیبانی نمی‌کند. . .TP \fBFlatten\fR \fIdelim\fR سلسله‌مراتب را درون این Store با جایگزین کردن جداکنندهٔ سلسله‌مراتب متعارف \fB/\fR با \fIdelim\fR هموار (تخت) می‌کند. این گزینه زمانی می‌تواند مفید باشد که MUA استفاده‌شده برای دسترسی به Store، مدیریت چندان مطلوبی روی صندوق‌های پستی سلسله‌مراتبی نداشته باشد، همان‌طور که در مورد \fBMutt\fR این‌گونه است. یک انتخاب رایج برای جداکننده، \fB.\fR است. .br توجه داشته باشید که زیرپوشه‌های هموارشدهٔ \fBINBOX\fR همواره در زیر \fBPath\fR قرار می‌گیرند، از جمله پیشوند «INBOX\fIdelim\fR». . .TP \fBTrash\fR \fImailbox\fR صندوق پستی‌ای (نسبت به \fBPath\fR) را مشخص می‌کند تا پیام‌های حذف‌شده پیش از پاکسازی کامل (expunging) در آن کپی شوند. بخش‌های \fBRECOMMENDATIONS\fR و \fBINHERENT PROBLEMS\fR را در ادامه ببینید. (پیش‌فرض: none) . .TP \fBTrashNewOnly\fR \fByes\fR|\fBno\fR هنگام انتقال به زباله‌دان، فقط پیام‌هایی را کپی می‌کند که هنوز منتقل نشده‌اند. این موضوع زمانی منطقی است که Store مقابل نیز دارای یک \fBTrash\fR باشد (همراه با \fBTrashNewOnly\fR \fBno\fR). (پیش‌فرض: \fBno\fR) . .TP \fBTrashRemoteNew\fR \fByes\fR|\fBno\fR هنگام پاکسازی در Store مقابل، پیام‌هایی را که هنوز منتقل نشده‌اند به \fBTrash\fR این Store کپی می‌کند. هنگام استفاده از این گزینه، Store مقابل اصلاً نیازی به یک \fBTrash\fR مجزا ندارد، در حالی که همه پیام‌ها بایگانی می‌شوند. (پیش‌فرض: \fBno\fR) . .SS "Storeهای Maildir (Maildir Stores)" نقطه مرجع برای \fBPath\fRهای نسبی، دایرکتوریِ حاوی فایل پیکربندی است. .P از آنجا که \fBmbsync\fR به UIDها نیاز دارد، اما هیچ طرح ذخیره‌سازی استانداردی برای UID در Maildir وجود ندارد، \fBmbsync\fR از دو طرح پشتیبانی می‌کند که هرکدام مزایا و معایب خود را دارند. .br طرح \fBnative\fR از آخرین وصله‌های Maildir برای \fBc-client\fR برگرفته شده و بنابراین با \fBpine\fR سازگار است. اعتبار UID در فایلی به نام .uidvalidity ذخیره می‌شود؛ UIDها در نام فایل پیام‌ها کدگذاری می‌شوند. .br طرح \fBalternative\fR بر اساس نگاشت UID مورد استفاده در نسخه‌های 0.8 و 0.9.x نرم‌افزار \fBisync\fR است. بخش‌های تغییرناپذیر نام فایل پیام‌ها به‌عنوان کلیدهایی در یک پایگاه‌داده Berkeley به نام .isyncuidmap.db استفاده می‌شوند که اعتبار UID را نیز نگهداری می‌کند. .br طرح \fBnative\fR سریع‌تر است، از نظر فضا بهینه‌تر بوده، مستقل از ترتیب بایت‌ها (endianness) و «خوانا برای انسان» است، اما اگر پیامی از صندوق پستی دیگری بدون دریافت نام فایل جدید کپی شود، دچار اختلال خواهد شد؛ این امر دیر یا زود منجر به UIDهای تکراری می‌شود که به نوبهٔ خود باعث تغییر در اعتبار UID شده و موجب شکست در همگام‌سازی می‌گردد. طرح \fBalternative\fR زمانی با شکست مواجه می‌شود که یک MUA نام فایل پیام را در بخشی تغییر دهد که \fBmbsync\fR آن را تغییرناپذیر در نظر می‌گیرد؛ این اتفاق به‌صورت حذف پیام و ثبت یک پیام جدید تفسیر خواهد شد که ترافیک غیرضروری ایجاد می‌کند. .br مشخص شده است که \fBMutt\fR با هر دو طرح به‌خوبی کار می‌کند. .br از \fBmdconvert\fR برای تبدیل صندوق‌های پستی از یک طرح به طرح دیگر استفاده کنید. . .TP \fBMaildirStore\fR \fIname\fR مخزن Maildir با عنوان \fIname\fR را تعریف می‌کند و بخشی را برای پارامترهای آن می‌گشاید. . .TP \fBAltMap\fR \fByes\fR|\fBno\fR استفاده از طرح ذخیره‌سازی UID به شیوهٔ \fBalternative\fR برای صندوق‌های پستی در این Store. این گزینه روی صندوق‌های پستی که از پیش دارای یک طرح ذخیره‌سازی UID هستند تأثیری نمی‌گذارد؛ برای تغییر آن از \fBmdconvert\fR استفاده کنید. بخش \fBRECOMMENDATIONS\fR را در ادامه ببینید. (پیش‌فرض: \fBno\fR) . .TP \fBInbox\fR \fIpath\fR مکان \fBINBOX\fR. این مقدار نسبت به \fBPath\fR \fIنیست\fR، اما قرار دادن \fBINBOX\fR در داخل \fBPath\fR مجاز است. (پیش‌فرض: \fI~/Maildir\fR) . .TP \fBInfoDelimiter\fR \fIdelim\fR نویسه‌ای که برای جداسازی فیلد اطلاعات (info) از نام پایهٔ یک پیام استفاده می‌شود. استاندارد Maildir این نویسه را دو نقطه تعریف می‌کند، اما این با فایل‌سیستم‌های DOS/Windows ناسازگار است. (پیش‌فرض: مقدارِ \fBFieldDelimiter\fR) . .TP \fBSubFolders\fR \fBVerbatim\fR|\fBMaildir++\fR|\fBLegacy\fR سبک نام‌گذاری پوشه روی دیسک برای صندوق‌های پستی سلسله‌مراتبی. این گزینه هنگام استفاده از \fBFlatten\fR هیچ تأثیری ندارد. .br صندوق‌های پستی با مسیرهای متعارف \fBtop/sub/subsub\fR و \fBINBOX/sub/subsub\fR را در نظر بگیرید؛ این سبک‌ها مسیرهای روی دیسک زیر را به دست می‌دهند: .br \fBVerbatim\fR \- \fIPath\fB/top/sub/subsub\fR و \fIInbox\fB/sub/subsub\fR (این همان سبکی است که احتمالاً مایل به استفاده از آن هستید) .br \fBMaildir++\fR \- \fIInbox\fB/.top.sub.subsub\fR و \fIInbox\fB/..sub.subsub\fR (این سبک با Courier و Dovecot سازگار است \- اما توجه داشته باشید که قالب فرادادهٔ صندوق پستی سازگار \fIنیست\fR). توجه داشته باشید که تلاش‌ها برای تعیین \fBPath\fR در این حالت رد می‌شود. .br \fBLegacy\fR \- \fIPath\fB/top/.sub/.subsub\fR و \fIInbox\fB/.sub/.subsub\fR (این سبک قدیمی \fBmbsync\fR است) .br (پیش‌فرض: تنظیم‌نشده؛ هنگام مواجهه با زیرپوشه‌ها خطا خواهد داد) ..SS حساب‌های IMAP4 .TP \fBIMAPAccount\fR \fIname\fR حساب IMAP4 با نام \fIname\fR را تعریف می‌کند و بخشی را برای پارامترهای آن باز می‌نماید. . .TP \fBHost\fR \fIhost\fR نام DNS یا نشانی IP کارساز IMAP را مشخص می‌کند. .br در صورت استفاده از \fBTunnel\fR، این تنظیم تنها در صورتی لازم است که \fBTLSType\fR برابر با \fBNone\fR نبوده و از \fBCertificateFile\fR استفاده نشده باشد؛ در این حالت، نام میزبان برای اعتبارسنجی موضوع (subject) گواهی به کار می‌رود. . .TP \fBPort\fR \fIport\fR شماره درگاه TCP کارساز IMAP را مشخص می‌کند. (پیش‌فرض: 143 برای IMAP، و 993 برای IMAPS) .br اگر از \fBTunnel\fR استفاده شود، این تنظیم نادیده گرفته می‌شود. . .TP \fBTimeout\fR \fItimeout\fR مهلت زمانی اتصال و انتقال داده را برای کارساز IMAP بر حسب ثانیه مشخص می‌کند. مقدار صفر به معنی نامحدود است. (پیش‌فرض: \fI20\fR) . .TP \fBUser\fR \fIusername\fR نام کاربری ورود به کارساز IMAP را مشخص می‌کند. . .TP \fBUserCmd\fR [\fB+\fR]\fIcommand\fR به جای تعیین مستقیم کاربر، یک دستور شل را برای دریافت نام کاربر مشخص می‌کند. این ویژگی به شما اجازه می‌دهد دریافت نام‌های کاربری را اسکریپت‌نویسی کنید. .br دستور باید دقیقاً یک خط در stdout تولید کند؛ نویسه خط جدید پایانی اختیاری است. پیشوند \fB+\fR را به دستور اضافه کنید تا نشان دهد که خروجی TTY تولید می‌کند (مانند یک اعلان ورودی)؛ عدم انجام این کار صرفاً خروجی نامرتب‌تری ایجاد می‌کند. به یاد داشته باشید که گیومه‌ها و بک‌اسلش‌های تعبیه‌شده در دستور را با بک‌اسلش گریزدهی (escape) کنید. . .TP \fBPass\fR \fIpassword\fR گذرواژه \fIusername\fR را در کارساز IMAP مشخص می‌کند. توجه داشته باشید که این گزینه الزامی \fIنیست\fR. اگر نه گذرواژه و نه دستور گذرواژه در فایل پیکربندی مشخص نشده باشد، \fBmbsync\fR گذرواژه را از شما خواهد پرسید. . .TP \fBPassCmd\fR [\fB+\fR]\fIcommand\fR به جای تعیین مستقیم گذرواژه، یک دستور شل را برای دریافت آن مشخص می‌کند. این ویژگی به شما اجازه می‌دهد از فایل‌ها و عامل‌های گذرواژه (agents) استفاده کنید. .br برای جزئیات بیشتر به \fBUserCmd\fR در بالا مراجعه کنید. . .TP \fBUseKeychain\fR \fByes\fR|\fBno\fR آیا از macOS Keychain برای دریافت گذرواژه استفاده شود یا خیر. (پیش‌فرض: \fBno\fR) .IP مورد لازم در keychain را می‌توان به این صورت ایجاد کرد: .RS .IP .nh .B security add-internet-password \-r imap \-s .I Host .B \-a .I User .B \-w .I password [ .B \-T .I /path/to/mbsync ] .hy .RE . .TP \fBTunnel\fR \fIcommand\fR دستوری را برای اجرا جهت برقراری اتصال به جای باز کردن سوکت TCP مشخص می‌کند. این ویژگی برای مثال به شما اجازه می‌دهد یک نشست IMAP را روی یک تونل SSH اجرا کنید. . .TP \fBAuthMechs\fR \fItype\fR ... فهرست سازوکارهای احراز هویت قابل قبول. علاوه بر سازوکارهای فهرست‌شده در رجیستری SASL (پیوند زیر)، سازوکار قدیمی \fBLOGIN\fR مربوط به IMAP نیز شناخته شده است. نویسه عام \fB*\fR نشان‌دهنده تمامی سازوکارهایی است که برای تنظیمات فعلی \fBTLSType\fR به اندازه کافی امن تلقی می‌شوند. سازوکاری که در عمل استفاده می‌شود، امن‌ترین گزینه حاصل از اشتراک این فهرست، فهرست ارائه‌شده توسط کارساز، و ماژول‌های SASL نصب‌شده است. (پیش‌فرض: \fB*\fR) . .TP \fBTLSType\fR {\fBNone\fR|\fBSTARTTLS\fR|\fBIMAPS\fR} روش امنیت/رمزنگاری اتصال را انتخاب می‌کند: .br \fBNone\fR \- بدون امنیت. این مقدار در صورت تنظیم بودن \fBTunnel\fR پیش‌فرض است، زیرا تونل‌ها معمولاً امن هستند. .br \fBSTARTTLS\fR \- امنیت از طریق افزونه STARTTLS پس از اتصال به درگاه معمولی 143 کارساز IMAP برقرار می‌شود. اکثر کارسازها از این روش پشتیبانی می‌کنند، بنابراین حالت پیش‌فرض است (مگر آنکه از یک تونل استفاده شود). .br \fBIMAPS\fR \- امنیت با آغاز مذاکره TLS بلافاصله پس از اتصال به درگاه امن 993 کارساز IMAP برقرار می‌شود. . .TP \fBTLSVersions\fR {\fB+\fR|\fB-\fR}{\fB1.0\fR|\fB1.1\fR|\fB1.2\fR|\fB1.3\fR} ... نسخه‌های مشخص‌شده TLS را به/از مجموعه‌ی انتخاب‌های قابل قبول اضافه/حذف می‌کند. تنها در صورتی از نسخه‌های قدیمی استفاده کنید که کارساز با نسخه‌های جدیدتر مشکل داشته باشد. توجه داشته باشید که نسخه‌های جدید به محض پشتیبانی توسط OpenSSL، حتی اگر \fBmbsync\fR هنوز آن‌ها را نشناسد، به صورت خودکار فعال می‌شوند. (پیش‌فرض: تمام نسخه‌ها از 1.2 به بالا). . .TP \fBSystemCertificates\fR \fByes\fR|\fBno\fR مشخص می‌کند که آیا مخزن پیش‌فرض گواهی‌های CA (مرجع صدور گواهی) سیستم باید برای اعتبارسنجی زنجیره‌های اعتماد گواهی استفاده شود یا خیر. اگر می‌خواهید تنها به گواهی‌های دست‌چین‌شده اعتماد کنید، این گزینه را غیرفعال کنید. (پیش‌فرض: \fByes\fR) . .TP \fBCertificateFile\fR \fIpath\fR فایلی حاوی گواهی‌های X.509 اضافی که برای اعتبارسنجی هویت‌های کارساز به کار می‌رود. این فایل ممکن است شامل دو نوع گواهی باشد: .RS .IP Host این گواهی‌ها تنها با خودِ گواهی دریافت شده از کارساز مطابقت داده می‌شوند. آن‌ها صرف‌نظر از معتبر بودن، همیشه مورد اعتماد هستند. یک مورد کاربرد معمول، اجبار به پذیرش یک گواهی منقضی‌شده است. .br این گواهی‌ها را می‌توان با استفاده از ابزار \fBmbsync-get-cert\fR دریافت کرد؛ پیش از اعتماد به آن‌ها، حتماً اثر انگشتشان (fingerprint) را بررسی کنید، یا آن‌ها را به طور امن از شبکه کارساز منتقل نمایید (در صورتی که بتوان به شبکه فراتر از خود کارساز اعتماد کرد). .IP CA این گواهی‌ها هنگام ساخت زنجیره گواهی برای گواهی کارساز دریافت‌شده، به عنوان لنگرهای اعتماد (trust anchors) استفاده می‌شوند. بسته به تنظیم \fBSystemCertificates\fR، از آن‌ها برای جایگزینی یا تقدم بر مخزن اعتماد سیستم استفاده می‌شود؛ مشخص کردن خود مخزن اعتماد سیستم در اینجا لازم نیست و توصیه نمی‌شود. زنجیره‌های اعتماد به طور کامل اعتبارسنجی می‌شوند. .RE . .TP \fBClientCertificate\fR \fIpath\fR فایل حاوی گواهی کلاینت برای ارسال به کارساز. \fBClientKey\fR نیز باید مشخص شود. .br توجه داشته باشید که اعتبارسنجی گواهی کلاینت معمولاً الزامی نیست، بنابراین بعید است به این گزینه نیاز پیدا کنید. . .TP \fBClientKey\fR \fIpath\fR فایل حاوی کلید خصوصی متناظر با \fBClientCertificate\fR. . .TP \fBCipherString\fR \fIstring\fR رشته رمزهای (cipher string) مربوط به OpenSSL را برای اتصال‌های ایمن‌شده با TLS تا نسخه 1.2 (به جز نسخه 1.3 و بالاتر) مشخص می‌کند. قالب آن در \fBciphers\fR\|(1) شرح داده شده است. (پیش‌فرض: خالی، که بیانگر سیاست سراسری سیستم است). . .TP \fBPipelineDepth\fR \fIdepth\fR حداکثر تعداد دستورهای IMAP که می‌توانند به طور هم‌زمان در جریان باشند. تنظیم این مقدار روی \fI1\fR قابلیت خط لوله (pipelining) را غیرفعال می‌کند. این گزینه بیشتر جنبه رفع اشکال دارد، اما ممکن است برای محدود کردن میانگین مصرف پهنای باند نیز به کار رود (در صورتی که اتصال بسیار سریعی داشته باشید ممکن است GMail به این گزینه نیاز داشته باشد)، یا برای مدارا با کارسازهای ناپایداری همچون M$ Exchange استفاده شود. (پیش‌فرض: \fIunlimited\fR) . .TP \fBDisableExtension\fR[\fBs\fR] \fIextension\fR ... استفاده از افزونه‌های خاص IMAP را غیرفعال می‌کند. از این گزینه می‌توان برای دور زدن باگ‌های موجود در کارسازها (و احتمالاً خود \fBmbsync\fR) استفاده کرد. (پیش‌فرض: خالی) ..SS مخازن IMAP (IMAP Stores) نقطهٔ مرجع برای \fBPath\fRهای نسبی هر آن چیزی است که کارساز (server) ترجیح می‌دهد؛ احتمالاً $HOME یا $HOME/Mail کاربر بر روی آن کارساز است. مکان \fBINBOX\fR نیز بر عهدهٔ کارساز بوده و معمولاً بی‌اهمیت است. .TP \fBIMAPStore\fR \fIname\fR مخزن IMAP4 با نام \fIname\fR را تعریف کرده و بخشی را برای پارامترهای آن باز می‌کند. . .TP \fBAccount\fR \fIaccount\fR مشخص می‌کند کدام \fIaccount\fR از IMAP4 استفاده شود. به‌جای تعریف یک Account و ارجاع به آن در اینجا، می‌توان تمام گزینه‌های Account را مستقیماً در بخش مربوط به Store مشخص کرد \- این کار در صورتی منطقی است که یک Account به هر حال فقط برای یک Store استفاده شود. . .TP \fBUseNamespace\fR \fByes\fR|\fBno\fR انتخاب می‌کند که آیا اولین NAMESPACE «شخصی» کارساز باید به عنوان پیشوند به نام صندوق‌های پستی اضافه شود یا خیر. غیرفعال کردن این گزینه برای برخی کارسازهای خراب IMAP منطقی است. اگر یک \fBPath\fR مشخص شده باشد، این گزینه بی‌معنی خواهد بود. (پیش‌فرض: \fByes\fR) . .TP \fBPathDelimiter\fR \fIdelim\fR جداکنندهٔ سلسله‌مراتب کارساز را مشخص می‌کند. (پیش‌فرض: برگرفته از اولین NAMESPACE «شخصی» کارساز) .br از این گزینه برای بازتفسیر سلسله‌مراتب \fIسوءاستفاده نکنید\fR. به‌جای آن از \fBFlatten\fR استفاده کنید. . .TP \fBSubscribedOnly\fR \fByes\fR|\fBno\fR انتخاب می‌کند که آیا تنها صندوق‌های پستی که در کارساز IMAP مشترک (subscribed) شده‌اند همگام‌سازی شوند یا خیر. از نظر فنی، در صورت تنظیم این گزینه، \fBmbsync\fR از دستور IMAP به نام LSUB به‌جای LIST برای یافتن صندوق‌های پستی در این Store استفاده خواهد کرد. این گزینه فقط در ترکیب با \fBPatterns\fR معنا دارد. (پیش‌فرض: \fBno\fR) . .SS کانال‌ها (Channels) .TP \fBChannel\fR \fIname\fR کانال \fIname\fR را تعریف کرده و بخشی را برای پارامترهای آن باز می‌کند. . .TP {\fBFar\fR|\fBNear\fR} \fB:\fIstore\fB:\fR[\fImailbox\fR] مخزن سمت دور (far) یا نزدیک (near) را برای اتصال توسط این Channel مشخص می‌کند. اگر \fBPatterns\fR مشخص شده باشد، \fImailbox\fR به عنوان پیشوندی تفسیر می‌شود که با الگوها مطابقت داده نمی‌شود، و بازنویسی‌های فهرست صندوق‌های پستی بر آن تأثیری ندارد. در غیر این صورت، اگر \fImailbox\fR حذف شود، \fBINBOX\fR فرض می‌شود. . .TP \fBPattern\fR[\fBs\fR] [\fB!\fR]\fIpattern\fR ... به‌جای همگام‌سازی فقط یک جفت صندوق پستی، تمام صندوق‌های پستی را که با \fIpattern\fR(ها) مطابقت دارند همگام می‌کند. نام‌های صندوق پستی در سمت‌های دور و نزدیک یکسان است. الگوها از نوع الگوهای IMAP4 هستند، یعنی \fB*\fR با همه‌چیز مطابقت دارد و \fB%\fR با همه‌چیز تا جداکنندهٔ سلسله‌مراتب بعدی تطابق می‌یابد. قرار دادن \fB!\fR قبل از یک الگو، آن را به یک استثنا (مستثنی‌سازی) تبدیل می‌کند. می‌توان چندین الگو را مشخص کرد (یا با ارائهٔ چندین آرگومان یا با استفاده مکرر از \fBPattern\fR)؛ تطابق‌های بعدی اولویت دارند. .br توجه داشته باشید که \fBINBOX\fR با نویسه‌های عام (wildcards) مطابقت داده نمی‌شود، مگر اینکه در زیر \fBPath\fR قرار داشته باشد. .br فهرست صندوق‌های پستی انتخاب‌شده توسط \fBPatterns\fR می‌تواند توسط یک فهرست صندوق پستی در یک ارجاع Channel (یک مشخصهٔ \fBGroup\fR یا در خط فرمان) بازنویسی (override) شود. .br مثال: "\fBPatterns\fR\ \fI%\ !Trash\fR" . .TP \fBMaxSize\fR \fIsize\fR[\fBk\fR|\fBm\fR][\fBb\fR] مشابه گزینهٔ هم‌نام در بخش Stores است، اما به‌طور یکسان بر Far و Near اعمال می‌شود. توجه داشته باشید که این گزینه عملاً Stores را تغییر می‌دهد، بنابراین دقت کنید اگر از Stores در چندین Channel استفاده می‌کنید، تنظیمات متناقض ارائه ندهید. . .TP \fBMaxMessages\fR \fIcount\fR حداکثر تعداد پیام‌ها برای نگه‌داری در هر صندوق پستی سمت نزدیک (near) را تعیین می‌کند. این قابلیت برای صندوق‌هایی مفید است که در آن‌ها یک بایگانی کامل روی کارساز نگه‌داری می‌کنید، اما می‌خواهید فقط آخرین پیام‌ها را آینه‌سازی کنید (برای نمونه، برای فهرست‌های پستی). پیام‌هایی که زودتر از همه وارد صندوق پستی شده‌اند (مستقل از تاریخ واقعی پیام) ابتدا حذف خواهند شد. پیام‌هایی که پرچم‌دار هستند (علامت‌گذاری‌شده به عنوان مهم) و (به‌طور پیش‌فرض) پیام‌های خوانده‌نشده به‌صورت خودکار حذف نخواهند شد. اگر \fIcount\fR برابر 0 باشد، حداکثر تعداد پیام‌ها نامحدود (\fBunlimited\fR) خواهد بود (پیش‌فرض سراسری: \fI0\fR). . .TP \fBExpireUnread\fR \fByes\fR|\fBno\fR انتخاب می‌کند که آیا پیام‌های خوانده‌نشده تحت تأثیر \fBMaxMessages\fR قرار گیرند یا خیر. به‌طور معمول، پیام‌های خوانده‌نشده مهم تلقی می‌شوند و بنابراین هرگز منقضی نمی‌شوند. این امر تضمین می‌کند که حتی پس از یک غیبت طولانی، هیچ پیام جدیدی را از دست ندهید. با این حال، اگر بایگانی شما بر حسب طراحی شامل مقادیر زیادی پیام خوانده‌نشده باشد، مهم در نظر گرفتن آن‌ها عملاً هدف \fBMaxMessages\fR را خنثی می‌کند. در این حالت لازم است این گزینه را فعال کنید. (پیش‌فرض سراسری: \fBno\fR). . .TP \fBExpireSide\fR \fBFar\fR|\fBNear\fR مشخص می‌کند هنگامی که \fBMaxMessages\fR پیکربندی شده است، پیام‌ها در کدام سمت منقضی شوند. (پیش‌فرض سراسری: \fBNear\fR). . .TP \fBSync\fR {\fBNone\fR|[\fBPull\fR] [\fBPush\fR] [\fBNew\fR] [\fBOld\fR] [\fBUpgrade\fR] [\fBGone\fR] [\fBFlags\fR] [\fBFull\fR]} عملیات(های) همگام‌سازی برای اجرا را انتخاب می‌کند: .br \fBPull\fR \- انتشار تغییرات از سمت دور به سمت نزدیک. .br \fBPush\fR \- انتشار تغییرات از سمت نزدیک به سمت دور. .br \fBNew\fR \- انتشار پیام‌های تازه ظاهر شده. .br \fBOld\fR \- انتشار پیام‌هایی که قبلاً نادیده گرفته شده، ناموفق بوده یا منقضی شده‌اند. این عمل هزینهٔ (نسبتاً) بالایی دارد و ممکن است مکرراً پیام خطا ایجاد کند، بنابراین همیشه باید به‌صورت صریح مشخص شود. .br \fBUpgrade\fR \- ارتقای جانگهدارها (placeholders) به پیام‌های کامل. فقط با یک \fBMaxSize\fR پیکربندی‌شده مفید است. .br \fBGone\fR \- انتشار ناپدید شدن پیام‌ها. این عمل فقط برای پیام‌هایی اعمال می‌شود که واقعاً ناپدید شده‌اند، یعنی پاک‌سازی (expunged) شده‌اند. پیام‌های تحت تأثیر در Store مقابل فقط به عنوان حذف‌شده علامت‌گذاری می‌شوند، یعنی تا زمانی که آن Store پاک‌سازی (expunge) نشود، واقعاً حذف نخواهند شد. .br \fBFlags\fR \- انتشار تغییرات پرچم‌ها. توجه داشته باشید که Deleted/Trashed نیز یک پرچم است؛ این موضوع به‌ویژه اگر از \fBmutt\fR با گزینهٔ maildir_trash استفاده می‌کنید، حائز اهمیت است. .br \fBFull\fR \- نام مستعار برای "\fBNew\fR\ \fBUpgrade\fR\ \fBGone\fR\ \fBFlags\fR". این مقدار پیش‌فرض سراسری است. .br \fBNone\fR (همان \fB--noop\fR در خط فرمان) \- عدم انتشار هرگونه تغییر. زمانی کاربرد دارد که تنها می‌خواهید عملیات پاک‌سازی (expunge) انجام دهید. .IP \fBPull\fR و \fBPush\fR پرچم‌های جهت هستند، در حالی که \fBNew\fR، \fBOld\fR، \fBUpgrade\fR، \fBGone\fR و \fBFlags\fR پرچم‌های نوع می‌باشند. این دو دسته پرچم، یک ماتریس دوبعدی (یک جدول) را تشکیل می‌دهند. سلول‌های آن کنش‌های منفردی هستند که باید انجام گیرند. دو شیوه برای فعال‌سازی سلول‌ها وجود دارد: .br در شیوهٔ نخست، پرچم‌ها تمام سطرها/ستون‌های ماتریس را انتخاب می‌کنند. تنها سلول‌هایی فعال می‌شوند که هم به‌صورت افقی و هم عمودی انتخاب شده باشند. مشخص نکردن جهت مانند مشخص کردن هر دو جهت است، و مشخص نکردن نوع مانند مشخص کردن \fBFull\fR خواهد بود. برای مثال، "\fBSync\fR\ \fBPull\fR\ \fBNew\fR\ \fBFlags\fR" پیام‌های جدید و تغییرات پرچم را از سمت دور به سمت نزدیک منتشر می‌کند، "\fBSync\fR\ \fBNew\fR\ \fBGone\fR" ورود پیام‌ها و حذف‌ها را در هر دو جهت منتشر می‌کند، و "\fBSync\fR\ \fBPush\fR" تمامی تغییرات را از سمت نزدیک به سمت دور منتشر خواهد کرد. .br در شیوهٔ دوم، پرچم‌های جهت با پرچم‌های نوع پیوند داده می‌شوند؛ هر پرچم مرکب بلافاصله یک سلول را در ماتریس فعال می‌کند. علاوه بر حداقل یک پرچم مرکب، می‌توان از پرچم‌های تکی نیز استفاده کرد، اما بر خلاف شیوهٔ نخست، آن‌ها فوراً تمامی سلول‌ها را در سطر/ستون مربوطه فعال می‌کنند (به استثنای \fBOld\fR). برای مثال، "\fBSync\fR\ \fBPullNew\fR\ \fBPullGone\fR\ \fBPush\fR" ورود و حذف پیام‌ها را از سمت دور به نزدیک، و هرگونه تغییر (به‌جز پیام‌های قدیمی) را از سمت نزدیک به سمت دور منتشر می‌کند. .br توجه داشته باشید که فعال کردن یک سلول به دو روش مختلف مجاز نیست؛ برای نمونه "\fBSync\fR\ \fBPullNew\fR\ \fBPull\fR" و "\fBSync\fR\ \fBPullNew\fR\ \fBGone\fR\ \fBPush\fR" منجر به بروز خطاهای ساختاری می‌شوند. .br گزینهٔ \fBNone\fR نباید با هیچ عملیات دیگری ترکیب شود. . .TP \fBCreate\fR {\fBNone\fR|\fBFar\fR|\fBNear\fR|\fBBoth\fR} ایجاد خودکار صندوق‌های پستی ناموجود [در سمت دور/نزدیک]. در غیر این صورت، در صورتی که یک صندوق پستی و وضعیت همگام‌سازی متناظر با آن وجود نداشته باشد، یک پیام خطا چاپ کرده و از آن جفت صندوق پستی صرف‌نظر می‌کند. (پیش‌فرض سراسری: \fBNone\fR) . .TP \fBRemove\fR {\fBNone\fR|\fBFar\fR|\fBNear\fR|\fBBoth\fR} انتشار حذف‌های صندوق پستی [به سمت دور/نزدیک]. در غیر این صورت، در صورتی که صندوق پستی وجود نداشته باشد اما وضعیت همگام‌سازی متناظر موجود باشد، یک پیام خطا چاپ کرده و از آن جفت صندوق پستی صرف‌نظر می‌کند. .br برای صندوق‌های پستی MailDir، حذف زیرپوشهٔ cur/ برای علامت‌گذاری آن‌ها به عنوان حذف‌شده کافی است. این امر سازگاری با \fBSyncState *\fR را تضمین می‌کند. .br توجه داشته باشید که جهت حفظ ایمنی، صندوق‌های پستی غیرخالی هرگز حذف نمی‌شوند. .br (پیش‌فرض سراسری: \fBNone\fR) . .TP \fBExpunge\fR {\fBNone\fR|\fBFar\fR|\fBNear\fR|\fBBoth\fR} حذف دائمی تمامی پیام‌ها [در سمت دور/نزدیک] که برای حذف علامت‌گذاری شده‌اند. با \fBExpungeSolo\fR برای همان سمت مانعة‌الجمع (ناسازگار) است. بخش \fBRECOMMENDATIONS\fR را در زیر ببینید. (پیش‌فرض سراسری: \fBNone\fR) . .TP \fBExpungeSolo\fR {\fBNone\fR|\fBFar\fR|\fBNear\fR|\fBBoth\fR} حذف دائمی تمامی پیام‌ها [در سمت دور/نزدیک] که هم برای حذف علامت‌گذاری شده‌اند و هم هیچ پیام متناظری در Store مقابل ندارند. همراه با \fBSync Gone\fR، این گزینه امکان آینه‌سازی واقعی پاک‌سازی‌ها (expunges) را فراهم می‌سازد. با این حال توجه داشته باشید که این کار تنها زمانی منطقی است که هیچ عامل دیگری پیام‌های علامت‌گذاری‌شده برای حذف را پاک‌سازی نکند. همچنین توجه داشته باشید که این گزینه برای مخازن IMAP که از افزونهٔ UIDPLUS پشتیبانی نمی‌کنند کارایی ندارد. با \fBExpunge\fR برای همان سمت مانعة‌الجمع است. (پیش‌فرض سراسری: \fBNone\fR) ..TP \fBCopyArrivalDate\fR {\fByes\fR|\fBno\fR} مشخص می‌کند که آیا زمان رسیدن پیام‌ها باید همراه با خود پیام‌ها منتشر (همگام‌سازی) شود یا خیر. فعال کردن این گزینه برای دست‌نخورده ماندن مرتب‌سازی پیام‌ها بر اساس برچسب زمانی منطقی است. توجه داشته باشید که IMAP تضمین نمی‌کند برچسب زمانی (که \fBinternal date\fR نامیده می‌شود) دقیقاً همان زمان رسیدن باشد، اما معمولاً به اندازه کافی به آن نزدیک است. (پیش‌فرض سراسری: \fBno\fR) . .P گزینه‌های \fBSync\fR، \fBCreate\fR، \fBRemove\fR، \fBExpunge\fR، \fBExpungeSolo\fR، \fBMaxMessages\fR، \fBExpireUnread\fR، \fBExpireSide\fR و \fBCopyArrivalDate\fR می‌توانند قبل از هر بخشی برای اعمال اثر سراسری استفاده شوند. تنظیمات سراسری توسط گزینه‌های خاصِ Channel لغو می‌شوند، که آن‌ها نیز به نوبه خود با سوئیچ‌های خط فرمان بازنویسی می‌شوند. . .TP \fBSyncState\fR {\fB*\fR|\fIpath\fR} مکان فایل‌های وضعیت همگام‌سازی این Channel را تعیین می‌کند. علامت \fB*\fR به این معنی است که وضعیت باید در فایلی به نام .mbsyncstate در خودِ صندوق پستی سمت نزدیک (near side) ذخیره شود؛ این کار این مزیت را دارد که در صورت حذف صندوق پستی، نیازی به رسیدگی جداگانه به فایل وضعیت نخواهید داشت، اما بدیهی است که این روش تنها با صندوق‌های پستی Maildir کار می‌کند. در غیر این صورت، این مقدار به عنوان رشته‌ای تفسیر می‌شود که به نام صندوق پستی سمت نزدیک پیشوند می‌شود تا یک مسیر کامل تشکیل شود. توجه داشته باشید اگر می‌خواهید یک دایرکتوری را مشخص کنید، \fBباید\fR در انتهای آن یک اسلش قرار دهید. .br این گزینه می‌تواند در خارج از هر بخشی برای اعمال اثری سراسری استفاده شود. در این حالت رشته الحاقی بر اساس الگوی زیر ساخته می‌شود: \fB:\fIfar-store\fB:\fIfar-box\fB_:\fInear-store\fB:\fInear-box\fR (همچنین گزینه \fBFieldDelimiter\fR را در زیر ببینید). .br (پیش‌فرض سراسری: \fI$XDG_STATE_HOME/isync/\fR، به همراه بازگشت به \fI~/.mbsync/\fR در صورتی که فقط دومی وجود داشته باشد. در صورت عدم تنظیم، مقدار پیش‌فرض $XDG_STATE_HOME برابر با ~/.local/state است.) . .SS "گروه‌ها (Groups)" .TP \fBGroup\fR \fIname\fR [\fIchannel\fR[\fB:\fIbox\fR[\fB,\fR...]]] ... گروه \fIname\fR را تعریف کرده و بخشی را برای پارامترهای آن باز می‌کند. توجه داشته باشید حتی با اینکه Groups فضای نام اختصاصی خود را دارند، در خط فرمان Channelهای همنام را «پنهان» خواهند کرد. .br می‌توان یک یا چند Channel را در همان خط مشخص کرد. .br اگر یک یا چند \fIbox\fR را به یک \fIchannel\fR اختصاص دهید، آن‌ها به جای آنچه در Patterns مربوط به Channel مشخص شده است، استفاده خواهند شد. همین کار را می‌توان در خط فرمان نیز انجام داد، با این تفاوت که در آنجا می‌توان از خطوط جدید نیز به عنوان جداکننده نام صندوق‌های پستی استفاده کرد. . .TP \fBChannel\fR[\fBs\fR] \fIchannel\fR[\fB:\fIbox\fR[\fB,\fR...]] ... افزودن Channelهای مشخص‌شده به Group. این گزینه می‌تواند چندین بار درون یک Group مشخص شود. . .SS "گزینه‌های سراسری (Global Options)" .TP \fBFSync\fR \fByes\fR|\fBno\fR .br مشخص می‌کند که آیا \fBmbsync\fR عملیات تخلیه اجباری بافر (forced flushing) را انجام دهد یا خیر، که سطح ایمنی داده‌ها پس از خرابی‌های سیستم و قطعی برق را تعیین می‌کند. غیرفعال کردن آن برای سیستم‌های فایلی که با حالت data=ordered سوار (mount) شده‌اند، تا حد منطقی ایمن است. فعال کردن آن انتخابی هوشمندانه برای سیستم‌های فایلی است که با data=writeback سوار شده‌اند، به ویژه سیستم‌های مدرن مانند ext4، btrfs و xfs. تأثیر عملکردی آن بر روی سیستم‌های فایل قدیمی‌تر ممکن است نامتناسب و سنگین باشد. (پیش‌فرض: \fByes\fR) . .TP \fBFieldDelimiter\fR \fIdelim\fR نویسه‌ای که برای جداسازی فیلدها در رشته الحاقی به یک \fBSyncState\fR سراسری استفاده می‌شود. \fBmbsync\fR ترجیح می‌دهد از دونقطه (:) استفاده کند، اما این نویسه با سیستم‌های فایل DOS/Windows ناسازگار است. بدیهی است در صورتی که \fBSyncState\fR برابر با \fB*\fR باشد، این گزینه بی‌معنی است. با این حال، پیش‌فرض \fBInfoDelimiter\fR را نیز تعیین می‌کند. (پیش‌فرض سراسری: \fI;\fR در ویندوز، \fI:\fR در سایر سیستم‌ها) . .TP \fBBufferLimit\fR \fIsize\fR[\fBk\fR|\fBm\fR][\fBb\fR] میزان حافظه مصرفی لحظه‌ای به ازای هر Channel و در هر جهت، که فراتر از آن \fBmbsync\fR از مصرف حافظه بیشتر خودداری خواهد کرد. توجه داشته باشید که این یک محدودیت مطلق نیست، زیرا حتی یک پیام واحد نیز می‌تواند حافظه‌ای بیشتر از این مقدار مصرف کند. (پیش‌فرض: \fI10M\fR) . .SH "خروجی کنسول (CONSOLE OUTPUT)" اگر خروجی \fBmbsync\fR به یک کنسول متصل باشد، به‌طور پیش‌فرض شمارنده‌های پیشرفت را چاپ خواهد کرد. خروجی شبیه به این خواهد بود: .P .in +4 C: 1/2 B: 3/4 F: +13/13 *23/42 #0/0 -0/0 N: +0/7 *0/0 #0/0 -0/0 .in -4 .P این نشان‌دهنده پیشرفت تجمعی به ترتیب روی Channelها، صندوق‌ها (boxes)، و پیام‌های متأثر در سمت دور (far) و نزدیک (near) است. تعداد پیام‌ها به ترتیب بیانگر پیام‌های اضافه‌شده، پیام‌هایی با پرچم‌های به‌روزشده، پیام‌های منتقل‌شده به سطل زباله، و پیام‌های پالایش‌شده (expunged) است. هیچ تلاشی برای محاسبه مقادیر کل از قبل صورت نمی‌گیرد، بنابراین با جمع‌آوری اطلاعات بیشتر، این مقادیر در طول زمان افزایش می‌یابند. .P صرف‌نظر از تغییر مسیر خروجی (redirection)، \fBmbsync\fR پس از اتمام کار، خلاصه‌ای از موارد بالا را چاپ خواهد کرد، مگر اینکه در حالت بی‌صدا (quiet) اجرا شده باشد. . .SH "توصیه‌ها (RECOMMENDATIONS)" اطمینان حاصل کنید که سرور IMAP شما پیام‌های حذف‌شده را به‌طور خودکار پالایش (auto-expunge) نمی‌کند - این کار کند است و از نظر معنایی تا حدی جای تردید دارد. به‌طور خاص، Gmail باید طوری پیکربندی شود که این کار را انجام ندهد. .P به‌طور پیش‌فرض، \fBmbsync\fR هیچ پیامی را حذف نخواهد کرد - پالایش‌ها با علامت‌گذاری پیام‌ها به عنوان حذف‌شده در Store مقابل منتقل و اعمال می‌شوند. هنگامی که از صحت کارکرد پیکربندی خود مطمئن شدید، معمولاً مایل خواهید بود که \fBExpunge\fR را روی \fBBoth\fR تنظیم کنید تا حذف‌ها به مرحله عمل برسند. .P قابلیت سطل زباله داخلی \fBmbsync\fR به این بستگی دارد که خودِ \fBmbsync\fR عمل پالایش پیام‌های حذف‌شده را انجام دهد. این امر زمانی محقق می‌شود که حذف پیام‌های پیش‌تر منتشرشده را منتقل کند و سطل زباله در Store مقصد (معمولاً سرور IMAP شما) قرار داشته باشد. .br با این حال، هنگامی که قصد دارید \fBmbsync\fR پیام‌هایی را که هنوز منتقل نشده‌اند به سطل زباله منتقل کند، برنامه کاربری ایمیل (MUA) باید پیام‌ها را بدون پالایش کردن، به عنوان حذف‌شده علامت‌گذاری کند (به عنوان مثال، گزینه \fBmaildir_trash\fR در \fBMutt\fR). توجه داشته باشید که بیشتر پیام‌ها مدت‌ها قبل از حذف شدن همگام‌سازی می‌شوند، بنابراین این یک حالت خاص و نادر است که احتمالاً نیازی نیست برای آن بهینه‌سازی انجام دهید. این نکته همچنین بدین معناست که گزینه‌های \fBTrashNewOnly\fR و \fBTrashRemoteNew\fR معمولاً کاربرد چندانی ندارند. .P اگر سرور شما از انتقال خودکار به سطل زباله پشتیبانی می‌کند (مانند آنچه Gmail انجام می‌دهد)، احتمالاً ایده خوبی است که به جای قابلیت سطل زباله \fBmbsync\fR به خود سرور اتکا کنید. در این صورت، اگر قصد دارید سطل زباله را مانند دیگر صندوق‌های پستی همگام‌سازی کنید، نباید اصلاً از گزینه \fBTrash\fR در \fBmbsync\fR استفاده نمایید. .P استفاده از گزینه \fBTrash\fR در ارتباط با M$ Exchange 2013 به دلیل وجود یک باگ در سرور، نیازمند استفاده از گزینه \fBDisableExtension MOVE\fR است. .P هنگام استفاده از طرح پیش‌فرض و بهینه‌ترِ نگاشت UID، مهم است که MUA هنگام جابه‌جایی فایل‌ها میان پوشه‌های Maildir، نام آن‌ها را تغییر دهد. Mutt همواره این کار را انجام می‌دهد، در حالی که mu4e نیاز به پیکربندی دارد تا این عمل را پیاده‌سازی کند: .br .in +4 (setq mu4e-change-filenames-when-moving t) .in -4 .br انتظار کلی این است که یک نام فایل کاملاً جدید ایجاد شود، درست مانند زمانی که پیام تازه ایجاد شده است؛ با این حال حذف بخش میانی \fB,U=\fIxxx\fR نیز کفایت می‌کند. ..SH "مشکلات ذاتی (INHERENT PROBLEMS)" تغییراتی که پس از دریافت فهرست پیام‌ها توسط \fBmbsync\fR ایجاد شوند، تا اجرای بعدی \fBmbsync\fR همگام‌سازی نخواهند شد. .P استفاده از \fBTrash\fR در مخازن IMAP بدون افزونهٔ UIDPLUS (به‌ویژه M$ Exchange دست‌کم تا نسخهٔ ۲۰۱۰) با شرایط رقابتی (race condition) همراه است: اگر پیام‌ها پس از دریافت فهرست پیام‌ها اما پیش از پاکسازی (expunge) صندوق پستی به عنوان حذف‌شده علامت‌گذاری شوند، از دست خواهند رفت. تا زمانی که در هر لحظه تنها یک کلاینت (از جمله خود \fBmbsync\fR) به صندوق پستی IMAP دسترسی داشته باشد، هیچ خطری وجود ندارد. . .SH "فایل‌ها (FILES)" .TP \fB$XDG_CONFIG_HOME/isyncrc\fR (معمولاً \fB~/.config/isyncrc\fR) فایل پیکربندی پیش‌فرض. همچنین فایل نمونه در دایرکتوری مستندات را ببینید. .TP \fB$XDG_STATE_HOME/isync/\fR (معمولاً \fB~/.local/state/isync/\fR) دایرکتوری حاوی فایل‌های وضعیت همگام‌سازی. .TP .B ~/.mbsyncrc فایل پیکربندی قدیمی (Legacy). .TP .B ~/.mbsync/ دایرکتوری قدیمی حاوی فایل‌های وضعیت همگام‌سازی. . .SH "همچنین ببینید (SEE ALSO)" mdconvert(1), mutt(1), maildir(5) .P اطلاعات به‌روز دربارهٔ \fBmbsync\fR را می‌توان در http://isync.sf.net یافت. .P سازوکارهای SASL در نشانی زیر فهرست شده‌اند: http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml . .SH "نویسندگان (AUTHORS)" در ابتدا توسط Michael R. Elkins نوشته شد، توسط Oswald Buddenhagen بازنویسی شد و در حال حاضر نگهداری می‌شود، با مشارکت افراد بسیار دیگر؛ برای جزئیات فایل AUTHORS را ببینید.