.TH MAIRIX 1 "January 2006" .de Sx .PP .ne \\$1 .nf .na .RS 7 .. .de Ex .RE .fi .ad .PP .. .de Sy .PP .ne \\$1 .nf .na .RS 12 .. .de Ey .RE .fi .ad .IP "" 7 .. .SH "نام (NAME)" mairix \- نمایه کردن و جستجوی پوشه‌های رایانامه .SH "خلاصه دستور (SYNOPSIS)" .SS "نمایه‌سازی (Indexing)" .B mairix [ .BR \-v | \-\-verbose ] [ .BR \-p | \-\-purge ] [ .BR \-f | \-\-rcfile .I mairixrc ] [ .BR \-F | \-\-fast-index ] [ .BR \-\-force-hash-key-new-database .I hash ] .SS "جستجو (Searching)" .B mairix [ .BR \-v | \-\-verbose ] [ .BR \-f | \-\-rcfile .I mairixrc ] [ .BR \-r | \-\-raw-output ] [ .BR \-x | \-\-excerpt-output ] [ .BR \-H | \-\-force-hardlinks ] [ .BR \-o | \-\-mfolder .I mfolder ] [ .BR \-a | \-\-augment ] [ .BR \-t | \-\-threads ] .I search-patterns .SS "سایر موارد (Other)" .B mairix [ .BR \-h | \-\-help ] .B mairix [ .BR \-V | \-\-version ] .B mairix [ .BR \-d | \-\-dump ] .SH "توضیحات (DESCRIPTION)" برنامهٔ .I mairix مجموعه‌ای از پیام‌های رایانامه (ایمیل) را نمایه و جستجو می‌کند. پوشه‌های حاوی پیام‌ها برای نمایه‌سازی در فایل پیکربندی تعریف می‌شوند. مرحلهٔ نمایه‌سازی یک فایل پایگاه‌داده ایجاد می‌کند. این فایل پایگاه‌داده دسترسی سریع به جزئیات پیام‌های نمایه‌شده را در هنگام عملیات جستجو فراهم می‌آورد. یک جستجو معمولاً پوشه‌ای (به‌اصطلاح .BR mfolder ) حاوی پیام‌های تطبیق‌یافته تولید می‌کند. با این حال، یک حالت خام .RB ( \-r ) نیز وجود دارد که تنها پیام‌های تطبیق‌یافته را فهرست می‌کند. .PP این برنامه می‌تواند با انواع پوشه‌های زیر کار کند: .IP * maildir .IP * MH (سازگار با قالب‌های پوشهٔ MH مورد استفاده در xmh، sylpheed، claws-mail، nnml (Gnus) و evolution) .IP * mbox (شامل mboxهایی که با gzip یا bzip2 فشرده شده‌اند) .IP * MMDF (شامل مواردی که با gzip یا bzip2 فشرده شده‌اند) .IP * IMAP: پوشه‌های دوردست روی یک کارساز IMAP .PP اگر از پوشه‌های منبع maildir یا MH استفاده شود و جستجو نتایج تطبیق‌یافتهٔ خود را در یک mfolder با قالب maildir یا MH بنویسد، از پیوندهای نمادین (symbolic links) برای ارجاع به پیام‌های اصلی درون mfolder استفاده می‌شود. با این حال، اگر پوشه‌های mbox یا MMDF در میان باشند، به‌جای پیوند، رونوشتی از پیام‌ها تهیه می‌شود. اگر برای هر دو بخش منبع و نتایج از پوشه‌های IMAP استفاده شود، رونوشت‌ها در سمت کارساز IMAP ساخته می‌شوند. در صورت استفاده از پوشه‌های منبع IMAP با هر نوع دیگری از پوشهٔ نتایج، پیام‌ها از کارساز IMAP بارگیری شده تا در پوشهٔ نتایج نوشته شوند. همچنین در صورت استفاده از پوشهٔ نتایج IMAP با هر نوع پوشهٔ منبع دیگر، پیام‌ها در کارساز IMAP بارگذاری می‌شوند تا به پوشهٔ نتایج افزوده گردند. .SH "گزینه‌ها (OPTIONS)" .B mairix با بررسی وجود هرگونه .I search-patterns (الگوهای جستجو) در خط فرمان، تصمیم می‌گیرد که آیا به نمایه‌سازی نیاز است یا جستجو. .SS "حالت‌های ویژه (Special modes)" .TP .B \-h, \-\-help .br نمایش خلاصهٔ نحوهٔ استفاده و خروج. .TP .B \-V, \-\-version نمایش نسخهٔ برنامه و خروج. .TP .B \-d .br تخلیهٔ محتویات پایگاه‌داده به صورت خوانا برای انسان در خروجی استاندارد (stdout). .SS "گزینه‌های عمومی (General options)" .TP .BI "\-f " mairixrc .br .ns .TP .BI "\-\-rcfile " mairixrc .br مشخص کردن یک فایل پیکربندی جایگزین برای استفاده. فایل پیکربندی پیش‌فرض .IR ~/.mairixrc است. .TP .B \-v, \-\-verbose .br افزایش جزئیات خروجی (حالت پرگویی). .TP .B \-Q, \-\-no-integrity-checks .br به‌طور معمول .I mairix برخی بررسی‌های یکپارچگی داخلی را روی پایگاه‌داده انجام می‌دهد. گزینهٔ .B \-Q این بررسی‌ها را حذف می‌کند و باعث می‌شود .I mairix سریع‌تر اجرا شود، اما در صورت بروز هرگونه باگ، احتمال شناسایی مشکلات داخلی کمتر خواهد بود. دستورالعمل .I nochecks در فایل rc نیز اثر مشابهی دارد. .TP .B \-\-unlock .br برنامهٔ .I mairix فایل پایگاه‌دادهٔ خود را در حین هرگونه عملیات نمایه‌سازی یا جستجو قفل می‌کند تا از تداخل چند اجرای نمایه‌سازی با یکدیگر، یا تداخل یک اجرای نمایه‌سازی با اجراهای جستجو جلوگیری کند. گزینهٔ .B \-\-unlock فایل قفل (lockfile) را پیش از انجام عملیات نمایه‌سازی یا جستجوی درخواستی پاک می‌کند. این روش مناسبی برای پاک‌سازی فایل قفلِ برجامانده در صورتی است که اجرای پیشین به هر دلیلی از کار افتاده یا متوقف شده باشد. .SS "گزینه‌های نمایه‌سازی (Indexing options)" .TP .B \-p, \-\-purge .br باعث پاک‌سازی پیام‌های کهنه (حذف‌شده/مرده) از پایگاه‌داده در حین اجرای نمایه‌سازی می‌شود. (به‌طور معمول، پیام‌های کهنه به دلیل هزینهٔ سربار اضافیِ فشرده‌سازی فضای ذخیره‌سازی، در پایگاه‌داده باقی می‌مانند.) .TP .B \-F, \-\-fast-index .br هنگام پردازش پوشه‌های maildir و MH، برنامهٔ .I mairix به‌طور معمول mtime (زمان اصلاح) و اندازهٔ هر پیام را با مقادیر ذخیره‌شده در پایگاه‌داده مقایسه می‌کند. اگر تغییر کرده باشند، پیام دوباره بررسی (اسکن) می‌شود. این بررسی نیازمند اجرای stat روی فایل هر پیام است. برای تعداد زیادی از پیام‌ها در این نوع پوشه‌ها، این کار می‌تواند سربار قابل‌توجهی ایجاد کند. این گزینه به .I mairix اعلام می‌کند فرض را بر این بگذارد که وقتی پیامی روی دیسک نامی مطابق با پیامی در پایگاه‌داده دارد، پیام بدون تغییر مانده است. اجرای بعدی نمایه‌سازی بدون این گزینه، هرگونه اسکن مجددی را که به دلیل استفاده از آن نادیده گرفته شده بود برطرف خواهد کرد. .TP .BI "\-\-force-hash-key-new-database " hash .br این گزینه فقط باید برای اشکال‌زدایی استفاده شود. .br اگر پایگاه‌دادهٔ جدیدی ایجاد شود، مقدار .I hash به‌جای یک هش تصادفی، به عنوان کلید هش استفاده می‌شود. .SS "گزینه‌های جستجو (Search options)" .TP .B \-a, \-\-augment .br افزودن پیام‌های تطبیق‌یافتهٔ جدید به mfolder فعلی به‌جای ایجاد mfolder از ابتدا. .TP .B \-t, \-\-threads .br علاوه بر بازگرداندن پیام‌های تطبیق‌یافته، تمام پیام‌های موجود در رشتهٔ گفتگو (thread) یکسان با یکی از تطابق‌های واقعی را نیز بازمی‌گرداند. .TP .B \-r, \-\-raw-output .br به‌جای ایجاد یک mfolder حاوی پیام‌های تطبیق‌یافته، صرفاً مسیرهای آن‌ها را در خروجی استاندارد نمایش می‌دهد. .TP .B \-x, \-\-excerpt-output .br به‌جای ایجاد یک mfolder حاوی پیام‌های تطبیق‌یافته، گزیده‌ای از هدرهای آن‌ها را در خروجی استاندارد نمایش می‌دهد. این گزیده هدرهای To، Cc، From، Subject و Date را نشان می‌دهد. با پوشه‌های منبع IMAP، این کار نیازمند بارگیری هر پیام تطبیق‌یافته از کارساز IMAP است. .TP .B \-H, \-\-force-hardlinks .br به‌جای ایجاد پیوندهای نمادین، استفاده از پیوندهای سخت (hardlinks) را اجباری می‌کند. این کار به برنامه‌های نامه‌رسان مانند alpine کمک می‌کند تا متوجه شوند نامه‌های جدیدی در پوشهٔ جستجو وجود دارد. .TP .BI "\-o " mfolder .br .ns .TP .BI "\-\-mfolder " mfolder .br مشخص کردن یک مسیر موقت جایگزین برای استفاده توسط mfolder، که دستورالعمل .I mfolder در فایل rc را بازنویسی می‌کند. .B mairix از نوشتن نتایج جستجو در هر پوشه‌ای که به نظر برسد جزو پوشه‌های نمایه‌شده است خودداری می‌کند. این کار برای جلوگیری از حذف تصادفی رایانامه‌ها است. .SS "الگوهای جستجو (Search patterns)" .TP .BI t: word .br تطبیق .I word در هدر To:. .TP .BI c: word .br تطبیق .I word در هدر Cc:. .TP .BI f: word .br تطبیق .I word در هدر From:. .TP .BI s: word .br تطبیق .I word در هدر Subject:. .TP .BI m: word .br تطبیق .I word در هدر Message-ID:. .TP .BI b: word .br تطبیق .I word در بدنهٔ پیام. .B بدنهٔ پیام (Message body) به معنای هر بخش از بدنه با نوع text/plain یا text/html در نظر گرفته می‌شود. برای text/html، متن‌های درون تگ‌های متا نادیده گرفته می‌شوند. به‌ویژه، نشانی‌های وب درون تگ‌های در حال حاضر نمایه نمی‌شوند. پیوست‌های غیرمتنی نادیده گرفته می‌شوند. اگر پیوستی از نوع message/rfc822 وجود داشته باشد، این پیوست تجزیه شده و تطبیق روی این زیرپیام نیز انجام می‌شود. در صورت وقوع تطابق، با پیام دربرگیرنده به‌گونه‌ای رفتار می‌شود که گویی تطابق داشته است. .TP .BI d: "[start-datespec]" \- "[end-datespec]" .br تطبیق پیام‌هایی با هدر Date: که در محدودهٔ مشخص‌شده قرار دارند. .TP .BI z: "[low-size]" \- "[high-size]" .br تطبیق پیام‌هایی که اندازهٔ آن‌ها در محدودهٔ مشخص‌شده قرار دارد. اگر آرگومان .I low-size حذف شود، مقدار پیش‌فرض آن صفر خواهد بود. اگر آرگومان .I high-size حذف شود، مقدار پیش‌فرض آن بی‌نهایت در نظر گرفته می‌شود. برای نمونه، جهت تطبیق پیام‌هایی با اندازه بین ۱۰ کیلوبایت و ۲۰ کیلوبایت، می‌توان از عبارت جستجوی زیر استفاده کرد: .Sy 1 mairix z:10k-20k .Ey پسوند 'k' پس از یک عدد به معنای ضرب در ۱۰۲۴، و پسوند 'M' پس از یک عدد به معنای ضرب در ۱۰۲۴*۱۰۲۴ است. .TP .BI n: word .br تطبیق .I word که به عنوان نام یک پیوست در پیام آمده است. از آنجا که نام‌های پیوست معمولاً طولانی هستند، این گزینه معمولاً به صورت زیررشته (substring) استفاده می‌شود. بنابراین: .Sy 1 mairix n:mairix= .Ey تمام پیام‌هایی را تطبیق می‌دهد که پیوست‌هایی با نام‌های حاوی زیررشتهٔ .I mairix دارند. نام پیوست به‌ترتیب از مشخصه‌های name=xxx یا filename=xxx در هدرهای Content-Type: و Content-Disposition: تعیین می‌شود. .TP .BI F: flags .br تطبیق پیام‌ها با پرچم‌های (flags) خاص. پرچم‌های موجود عبارتند از 's' به معنای دیده‌شده (seen)، 'r' به معنای پاسخ‌داده‌شده (replied)، و 'f' به معنای پرچم‌گذاری‌شده (flagged). پرچم‌ها به بزرگی و کوچکی حروف حساس نیستند. می‌توان پیش از حرف پرچم یک '\-' برای معکوس کردن مفهوم آن قرار داد. بدین ترتیب: .Sy 1 mairix F:-s d:1w- .Ey هر پیام خوانده‌نشده با قدمت کمتر از یک هفته را تطبیق می‌دهد، و .Sy 1 mairix F:f-r d:-1m .Ey هر پیام پرچم‌گذاری‌شده با قدمت بیش از یک ماه را که هنوز به آن پاسخ نداده‌اید تطبیق خواهد داد. توجه داشته باشید که نویسه‌های پرچم و معانی آن‌ها با نویسه‌های پسوند مورد استفاده در نام فایل‌های پیام در پوشه‌های maildir مطابقت دارند. .SS "جستجوی تطابق در بیش از یک بخش از پیام (Searching for a match amongst more than one part of a message)" .PP در صورتی که تطابق در هر یک از بخش‌های پیام مد نظر باشد، می‌توان چندین بخش را با یکدیگر گروه‌بندی کرد. مثال‌های رایج در ادامه آمده است: .TP .BI tc: word .br تطبیق .I word در هدر To: یا Cc: (یا هر دو). .TP .BI bs: word .br تطبیق .I word در هدر Subject: یا بدنهٔ پیام (یا هر دو). .PP الگوی جستجوی .B a: کوته‌نوشتی برای .BR tcf: است؛ یعنی تطبیق کلمه در هدرهای To:، Cc: یا From:. (در این مورد "a" مخفف "address" است.) .SS "کلمات تطبیق (Match words)" آرگومان .I word در رشته‌های جستجو می‌تواند شکل‌های گوناگونی داشته باشد: .TP .I ~word .br تطبیق پیام‌هایی که شامل این کلمه .B نیستند (نفی کلمه). .TP .I word1,word2 .br اگر هر دو کلمه در بخش مشخص‌شده از پیام تطبیق یابند، نتیجه مثبت است (عملگر AND). .TP .I word1/word2 .br اگر هر یک از کلمه‌ها در بخش مشخص‌شده از پیام تطبیق یابند، نتیجه مثبت است (عملگر OR). .TP .I substring= .br تطبیق هر کلمه‌ای که حاوی .I substring به عنوان یک زیررشته باشد. .TP .I substring=N .br تطبیق هر کلمه‌ای که حاوی .IR substring باشد، با اجازهٔ حداکثر .I N خطا در تطبیق. برای نمونه، اگر .I N برابر با ۱ باشد، یک خطای منفرد مجاز است؛ که در آن خطا می‌تواند یکی از موارد زیر باشد: .IP * یک حرف جاافتاده .IP * یک حرف اضافی .IP * یک حرف متفاوت .TP .I ^substring= .br تطبیق هر کلمه‌ای که حاوی .I substring به عنوان زیررشته باشد، با این شرط که .I substring در ابتدای کلمهٔ تطبیق‌یافته قرار داشته باشد. .SS "ترتیب تقدم و اولویت (Precedence matters)" ترتیب پیوند و اولویت ساختارها به شرح زیر است: .IP "1." آرگومان‌های جداگانهٔ خط فرمان، شرایط مستقلی را تعریف می‌کنند که با یکدیگر AND منطقی می‌شوند. .IP "2." درون یک آرگومان منفرد، حروف پیش از دونقطه مشخص می‌کنند که عبارت روی کدام بخش‌های پیام اعمال شود. اگر دونقطه‌ای وجود نداشته باشد، عبارت روی تمام هدرهای ذکرشده در بالا و بدنه اعمال می‌گردد. .IP "3." پس از دونقطه، اسلش‌ها گزاره‌های فصلی (disjuncts) جداگانه را تفکیک می‌کنند که با یکدیگر OR منطقی می‌شوند. .IP "4." هر جزء فصلی می‌تواند شامل اجزای عطفی (conjuncts) جداگانه باشد که با کاما از هم جدا می‌شوند. این شرایط با یکدیگر AND منطقی می‌شوند. .IP "5." هر جزء عطفی می‌تواند با یک مدک (tilde) برای نفی شروع شود، و می‌تواند یک اسلش برای تعیین تطبیق زیررشته داشته باشد که در صورت تمایل با یک عدد صحیح برای مشخص کردن حداکثر خطاهای مجاز دنبال می‌شود. .SS "تعیین تاریخ (Date specification)" .PP این بخش ساختار نگارشی مورد استفاده برای تعیین تاریخ‌ها هنگام جستجو با گزینهٔ `d:' را شرح می‌دهد. تاریخ‌ها به صورت یک بازه (محدوده) مشخص می‌شوند. نقطهٔ شروع و پایان بازه هر دو می‌توانند تعیین شوند. از طرف دیگر، اگر شروع بازه حذف شود، ابتدای زمان در نظر گرفته می‌شود. اگر پایان بازه حذف شود، زمان جاری در نظر گرفته می‌شود. چهار قالب اصلی وجود دارد: .TP .BI d: start-end .br تعیین صریح هر دو نقطهٔ شروع و پایان .TP .BI d: start- تعیین شروع، نقطهٔ پایان زمان جاری است .TP .BI d: -end تعیین پایان، نقطهٔ شروع «مدت‌ها پیش» است (یعنی به اندازهٔ کافی در گذشته تا شامل هر پیامی بشود). .TP .BI d: period تعیین تلویحی شروع و پایان به صورت آغاز و انجام دورهٔ داده‌شده. .PP شروع و پایان می‌توانند به صورت مطلق یا نسبی مشخص شوند. یک نقطهٔ پایانی نسبی به صورت یک عدد و به دنبال آن یک حرف برای تعیین مقیاس زمان داده می‌شود: .TS box tab(&); lb | lb | lb | lb. حرف & مخفف & مثال & معنی = .T& l | l | l | l. d & days & 3d & ۳ روز w & weeks & 2w & ۲ هفته (۱۴ روز) m & months & 5m & ۵ ماه (۱۵۰ روز) y & years & 4y & ۴ سال (۴*۳۶۵ روز) .TE .PP به این منظور، ماه‌ها همواره ۳۰ روز و سال‌ها ۳۶۵ روز در نظر گرفته می‌شوند. زمان‌های مطلق را می‌توان به شکل‌های گوناگونی تعیین کرد. برخی از قالب‌ها هنگامی که تاریخ شروع را تعریف می‌کنند معنایی متفاوت از زمانی دارند که تاریخ پایان را تعریف می‌کنند. در جایی که یک عبارت منفرد هم شروع و هم پایان را مشخص می‌کند (یعنی آرگومان d: حاوی '\-' نیست)، معمولاً در این دو حالت تفسیرهای متفاوتی خواهد داشت. در مثال‌های زیر فرض کنید تاریخ جاری یکشنبه ۱۸ مه ۲۰۰۳ است (زمانی که نوشتن این مطالب آغاز شد). .TS box tab(&); l | l | l | l. مثال & تاریخ شروع & تاریخ پایان & نکات = d:20030301\-20030425 & ۱ مارس ۲۰۰۳ & ۲۵ آوریل ۲۰۰۳ & d:030301\-030425 & ۱ مارس ۲۰۰۳ & ۲۵ آوریل ۲۰۰۳ & فرض بر قرن جاری d:mar1\-apr25 & ۱ مارس ۲۰۰۳ & ۲۵ آوریل ۲۰۰۳ & d:Mar1\-Apr25 & ۱ مارس ۲۰۰۳ & ۲۵ آوریل ۲۰۰۳ & غیرحساس به بزرگی/کوچکی حروف d:MAR1\-APR25 & ۱ مارس ۲۰۰۳ & ۲۵ آوریل ۲۰۰۳ & غیرحساس به بزرگی/کوچکی حروف d:1mar\-25apr & ۱ مارس ۲۰۰۳ & ۲۵ آوریل ۲۰۰۳ & روز و ماه به هر ترتیبی d:2002 & ۱ ژانویه ۲۰۰۲ & ۳۱ دسامبر ۲۰۰۲ & کل سال d:mar & ۱ مارس ۲۰۰۳ & ۳۱ مارس ۲۰۰۳ & نزدیک‌ترین مارس گذشته d:oct & ۱ اکتبر ۲۰۰۲ & ۳۱ اکتبر ۲۰۰۲ & نزدیک‌ترین اکتبر گذشته d:21oct\-mar & ۲۱ اکتبر ۲۰۰۲ & ۳۱ مارس ۲۰۰۳ & شروع قبل از پایان d:21apr\-mar & ۲۱ آوریل ۲۰۰۲ & ۳۱ مارس ۲۰۰۳ & شروع قبل از پایان d:21apr\- & ۲۱ آوریل ۲۰۰۳ & ۱۸ مه ۲۰۰۳ & تاریخ پایان حذف شده d:\-21apr & ۱ ژانویه ۱۹۰۰ & ۲۱ آوریل ۲۰۰۳ & تاریخ شروع حذف شده d:6w\-2w & ۶ آوریل ۲۰۰۳ & ۴ مه ۲۰۰۳ & هر دو تاریخ نسبی d:21apr\-1w & ۲۱ آوریل ۲۰۰۳ & ۱۱ مه ۲۰۰۳ & یک تاریخ نسبی d:21apr\-2y & ۲۱ آوریل ۲۰۰۱ & ۱۱ مه ۲۰۰۱ & شروع قبل از پایان d:99\-11 & ۱ ژانویه ۱۹۹۹ & ۱۱ مه ۲۰۰۳ &T{ ۲ رقم در صورت امکان به عنوان روز ماه، وگرنه سال در نظر گرفته می‌شود T} d:99oct\-1oct & ۱ اکتبر ۱۹۹۹ & ۱ اکتبر ۲۰۰۲ &T{ پایان قبل از اکنون، تک‌رقم روز ماه است T} d:99oct\-01oct & ۱ اکتبر ۱۹۹۹ & ۳۱ اکتبر ۲۰۰۱ &T{ ۲ رقم که با صفر آغاز شود به عنوان سال در نظر گرفته می‌شود T} d:oct99\-oct1 & ۱ اکتبر ۱۹۹۹ & ۱ اکتبر ۲۰۰۲ &T{ روز و ماه به هر ترتیبی T} d:oct99\-oct01 & ۱ اکتبر ۱۹۹۹ & ۳۱ اکتبر ۲۰۰۱ &T{ سال و ماه به هر ترتیبی T} .TE .PP اصول عملکرد جدول فوق به صورت زیر است: .IP \(bu هنگامی که عبارت یک دورهٔ بیش از یک روز را مشخص می‌کند (مثلاً اگر یک ماه یا سال تعیین شود)، در تعریف تاریخ شروع، نخستین روز آن دوره و در تعریف تاریخ پایان، آخرین روز آن دوره در نظر گرفته می‌شود. .IP \(bu تاریخ پایان همواره روی تاریخ جاری یا پیش از آن در نظر گرفته می‌شود. .IP \(bu تاریخ شروع همواره روی تاریخ پایان یا پیش از آن در نظر گرفته می‌شود. .SH "راه‌اندازی پوشهٔ تطابق (SETTING UP THE MATCH FOLDER)" اگر پوشهٔ تطابق (match folder) در هنگام اجرا در حالت جستجو وجود نداشته باشد، به صورت خودکار ایجاد می‌شود. برای 'mformat=maildir' (حالت پیش‌فرض)، این تمام کاری است که باید انجام دهید. اگر از 'mformat=mh' استفاده می‌کنید، ممکن است لازم باشد پیش از اینکه برنامهٔ نامه‌رسان شما پوشه را شناسایی کند، چند دستور را اجرا کنید. برای نمونه در mutt می‌توانید دستورات زیر را اجرا کنید: .Sx 2 mkdir -p /home/richard/Mail/mfolder touch /home/richard/Mail/mfolder/.mh_sequences .Ex که به نظر می‌رسد کار می‌کند. به‌علاوه، درون mutt می‌توانید MBOX_TYPE را روی 'mh' تنظیم کنید و پیامی را در '+mfolder' ذخیره نمایید تا mutt ساختار را از پیش برای شما آماده کند. اگر از Sylpheed استفاده می‌کنید، به نظر می‌رسد بهترین روش این است که پیش از اینکه به mairix اجازهٔ نوشتن درون آن را بدهید، پوشهٔ جدید را از درون خود Sylpheed ایجاد کنید. .SH "مثال‌ها (EXAMPLES)" .PP فرض کنید نشانی رایانامهٔ من باشد. هر یک از دستورات زیر تمام پیام‌های جدیدتر از ۳ ماه از طرف من را که واژهٔ 'chrony' در خط موضوع (subject) آن‌ها وجود دارد تطبیق می‌دهد: .Sx 2 mairix d:3m- f:richard+doesnt+exist s:chrony mairix d:3m- f:richard@doesnt.exist s:chrony .Ex فرض کنید چند تطابق ناخواسته و کاذب روی نشانی برایم اهمیتی ندارد، بازهٔ زمانی وسیع‌تری می‌خواهم، و احتمال می‌دهم کلمهٔ کلیدی موضوع در برخی پیام‌هایی که پاسخ داده‌ام اشتباه هجی شده باشد (اجازهٔ حداکثر ۲ خطا را می‌دهیم): .Sx 1 mairix d:6m- f:richard s:chrony=2 .Ex .SH "نکات (NOTES)" .PP برنامهٔ .B mairix منحصراً بر پایهٔ .I کلمات (words) کار می‌کند. نمایه‌ای که در حالت نمایه‌سازی ساخته می‌شود حاوی جدولی از کلمات و پیام‌هایی است که آن کلمات در آن‌ها رخ داده‌اند. از این رو، قابلیت جستجو بر اساس یافتن پیام‌هایی است که شامل کلمات خاصی هستند. .B mairix یک کلمه را به صورت هر رشته‌ای از نویسه‌های الفبایی\-عددی به‌علاوهٔ زیرخط (underscore) تعریف می‌کند. هرگونه فاصلهٔ خالی، علائم نگارشی، خط تیره و غیره به عنوان مرزهای کلمه در نظر گرفته می‌شوند. .B mairix رسیدگی ویژه‌ای برای هدرهای To:، Cc: و From: دارد. در کنار اسکن کلمات معمولی، این هدرها برای بار دوم نیز اسکن می‌شوند که در آن نویسه‌های '@'، '\-' و '.' نیز به عنوان نویسه‌های تشکیل‌دهندهٔ کلمه در نظر گرفته می‌شوند. این ویژگی اجازه می‌دهد بیشتر (اگر نگوییم همه) نشانی‌های رایانامه به عنوان کلمات منفرد در پایگاه‌داده ثبت شوند. بنابراین اگر نامه‌ای از wibble@foobar.zzz داشته باشید، با هر دوی این جستجوها مطابقت خواهد داشت: .Sx 2 mairix f:foobar mairix f:wibble@foobar.zzz .Ex تاکنون باید مشخص شده باشد که از این جستجو نمی‌توان برای یافتن پیام‌های منطبق با عبارات باقاعده (regular expressions) عمومی استفاده کرد. این موضوع هرگز محدودیت بزرگی نبوده است. بیشتر جستجوها برای کلمات کلیدی خاصی هستند که در پیام‌ها آمده‌اند، یا جزئیات گیرندگان، یا تاریخ تقریبی. همچنین شایان ذکر است که هیچ اطلاعاتی در مورد «مجاورت و نزدیکی» کلمات ذخیره نمی‌شود، بنابراین نمی‌توانید به دنبال پیام‌هایی بگردید که در آن‌ها کلمه‌ای «نزدیک» به کلمهٔ دیگری باشد. برای هر پیام و هر کلمه، یک شرط سادهٔ بله/خیر ذخیره می‌شود \- یعنی آیا پیام حاوی آن کلمه در هدری خاص یا در بدنه است یا خیر. تاکنون این سازوکار کافی و کارآمد بوده است. استفاده از .B mairix حسی شبیه به استفاده از یک موتور جستجوی اینترنتی دارد. .SH "فایل‌ها (FILES)" .I ~/.mairixrc .SH "نویسنده (AUTHOR)" Copyright (C) 2002-2006 Richard P. Curnow .SH "همچنین ببینید (SEE ALSO)" .BR mairixrc (5) .SH "اشکالات (BUGS)" .PP ما به یک سازوکار افزونه (plugin) نیاز داریم تا امکان اسکن و نمایه‌سازی انواع بیشتری از پیوست‌ها فراهم شود.