.TH SMTP-SINK 1 .ad .fi .SH "نام (NAME)" smtp\-sink \- کارساز آزمایشی موازی‌شدهٔ SMTP/LMTP .SH "خلاصه دستور (SYNOPSIS)" .na .nf .fi \fBsmtp\-sink\fR [\fIoptions\fR] [\fBinet:\fR][\fIhost\fR]:\fIport\fR \fIbacklog\fR \fBsmtp\-sink\fR [\fIoptions\fR] \fBunix:\fR\fIpathname\fR \fIbacklog\fR .SH "توضیحات (DESCRIPTION)" .ad .fi برنامهٔ \fBsmtp\-sink\fR روی میزبان (یا نشانی) و پورت مشخص‌شده گوش فرا می‌دهد. این برنامه پیام‌های SMTP را از شبکه دریافت کرده و آن‌ها را دور می‌ریزد. هدف از این کار سنجش کارایی کلاینت است، نه انطباق با پروتکل. همچنین می‌توان \fBsmtp\-sink\fR را به‌گونه‌ای پیکربندی کرد که هر تراکنش تحویل نامه را درون یک فایل ذخیره کند. از آنجا که تأخیر دیسک در مقایسه با تأخیر شبکه زیاد است، این حالت کاری می‌تواند حداکثر کارایی را به میزان چندین مرتبهٔ بزرگی کاهش دهد. اتصال‌ها می‌توانند روی نقاط پایانی IPv4 یا IPv6، یا روی سوکت‌های دامنهٔ یونیکس (UNIX\-domain sockets) پذیرفته شوند. حالت پیش‌فرض IPv4 و IPv6 است. این برنامه مکمل برنامهٔ \fBsmtp\-source\fR(1) است. نکته: این یک برنامهٔ آزمایشی پشتیبانی‌نشده است. هیچ تلاشی برای حفظ سازگاری میان نسخه‌های متوالی صورت نمی‌گیرد. آرگومان‌ها: .IP \fB\-4\fR فقط از IPv4 پشتیبانی می‌کند. در صورتی که Postfix بدون پشتیبانی از IPv6 ساخته شده باشد، این گزینه هیچ اثری ندارد. .IP \fB\-6\fR فقط از IPv6 پشتیبانی می‌کند. در صورتی که Postfix بدون پشتیبانی از IPv6 ساخته شده باشد، این گزینه در دسترس نیست. .IP \fB\-8\fR پشتیبانی از 8BITMIME را اعلام نمی‌کند. .IP \fB\-a\fR پشتیبانی از احراز هویت SASL را اعلام نمی‌کند. .IP "\fB\-A \fIdelay\fR" پس از پاسخ دادن به DATA، به میزان \fIdelay\fR ثانیه صبر کرده و سپس زودتر از موعد با وضعیت پاسخ 550 لغو می‌کند. هیچ ورودی بیشتری از کلاینت نمی‌خواند؛ این تلاشی است برای مسدود کردن کلاینت پیش از آنکه «.» را ارسال کند. برای قطع فوری، مقدار تأخیر را صفر تعیین کنید. .IP "\fB\-b \fIsoft\-bounce\-reply\fR" از \fIsoft\-bounce\-reply\fR برای پاسخ‌های رد نرم (soft reject) استفاده می‌کند. پاسخ پیش‌فرض "450 4.3.0 Error: command failed" است. .IP "\fB\-B \fIhard\-bounce\-reply\fR" از \fIhard\-bounce\-reply\fR برای پاسخ‌های رد سخت (hard reject) استفاده می‌کند. پاسخ پیش‌فرض "500 5.3.0 Error: command failed" است. .IP \fB\-c\fR شمارنده‌های در حال اجرا را نمایش می‌دهد که هر زمان یک نشست SMTP پایان یابد، یک دستور QUIT اجرا شود، یا هنگام دریافت «.» به‌روزرسانی می‌شوند. .IP \fB\-C\fR پشتیبانی از XCLIENT را غیرفعال می‌کند. .IP "\fB\-d \fIdump\-template\fR" هر تراکنش نامه را درون یک فایل تک‌پیامی ذخیره می‌کند که نام آن از طریق بسط \fIdump\-template\fR توسط strftime(3) و الحاق یک عدد شانزده‌شانزدهی شبه‌تصادفی ایجاد می‌شود (مثال: "%Y%m%d%H/%M." به "2006081203/05.809a62e3" بسط می‌یابد). اگر الگو شامل نویسه‌های "/" باشد، دایرکتوری‌های ناموجود به‌طور خودکار ایجاد می‌شوند. قالب رونوشت پیام در زیر شرح داده شده است. .sp نکته: این گزینه برای هر تراکنش نامهٔ در حال انجام، یک فایل ثبت را باز نگه می‌دارد. .IP "\fB\-D \fIdump\-template\fR" تراکنش‌های نامه را به یک فایل رونوشت چندپیامی الحاق می‌کند که نام آن از طریق بسط \fIdump\-template\fR توسط strftime(3) ایجاد می‌شود. اگر الگو حاوی نویسه‌های "/" باشد، دایرکتوری‌های ناموجود به‌طور خودکار ایجاد می‌شوند. قالب رونوشت پیام در زیر شرح داده شده است. .sp نکته: این گزینه برای هر تراکنش نامهٔ در حال انجام، یک فایل ثبت را باز نگه می‌دارد. .IP \fB\-e\fR پشتیبانی از ESMTP را اعلام نمی‌کند. .IP \fB\-E\fR پشتیبانی از ENHANCEDSTATUSCODES را اعلام نمی‌کند. .IP "\fB\-f \fIcommand,command,...\fR" دستورهای مشخص‌شده را با یک کد خطای سخت (5xx) رد می‌کند. این گزینه مستلزم \fB\-p\fR است. .sp نمونه‌هایی از دستورها عبارتند از CONNECT، HELO، EHLO، LHLO، MAIL، RCPT، VRFY، DATA، .، RSET، NOOP و QUIT. نام دستورها را با فاصله یا کاما جدا کنید، و برای محافظت از فاصله‌ها در برابر پوسته از نقل‌قول استفاده نمایید. نام دستورها به حروف بزرگ و کوچک حساس نیستند. .IP \fB\-F\fR پشتیبانی از XFORWARD را غیرفعال می‌کند. .IP "\fB\-h\fI hostname\fR" از \fIhostname\fR در پیام خوش‌آمدگویی SMTP، در پاسخ HELO و در پاسخ EHLO استفاده می‌کند. نام میزبان پیش‌فرض "smtp\-sink" است. .IP "\fB\-H\fI delay\fR" اولین عملیات خواندن پس از دریافت DATA را به تاخیر می‌اندازد (زمان به ثانیه). این گزینه را با یک پیام آزمایشی بزرگ و اندازهٔ پنجرهٔ کوچک TCP (گزینهٔ \fB\-T\fR را ببینید) ترکیب کنید تا پیاده‌سازی write_wait() کلاینت Postfix آزمایش شود. .IP \fB\-L\fR فعال‌سازی LMTP به جای SMTP. .IP "\fB\-m \fIcount\fR (پیش‌فرض: 256)" یک حد بالا برای حداکثر تعداد اتصال‌های هم‌زمانی که \fBsmtp\-sink\fR مدیریت خواهد کرد. این کار از اتمام توصیف‌کننده‌های فایل در فرایند جلوگیری می‌کند. اتصال‌های مازاد در پشتهٔ TCP/IP در صف باقی خواهند ماند. .IP "\fB\-M \fIcount\fR" پس از دریافت \fIcount\fR پیام خاتمه می‌یابد. .IP "\fB\-n \fIcount\fR" پس از \fIcount\fR نشست خاتمه می‌یابد. .IP \fB\-N\fR پشتیبانی از DSN را اعلام نمی‌کند. .IP \fB\-p\fR پشتیبانی از خط‌لوله‌سازی دستورات ESMTP (یا command pipelining) را اعلام نمی‌کند. .IP \fB\-P\fR پیام خوش‌آمدگویی کارساز را به گونه‌ای تغییر می‌دهد که گویی از طریق یک سیستم CISCO PIX عبور می‌کند. مستلزم \fB\-e\fR است. .IP "\fB\-q \fIcommand,command,...\fR" پس از دریافت یکی از دستورهای مشخص‌شده، ارتباط را (بدون پاسخ دادن) قطع می‌کند. .sp نمونه‌هایی از دستورها عبارتند از CONNECT، HELO، EHLO، LHLO، MAIL، RCPT، VRFY، DATA، .، RSET، NOOP و QUIT. نام دستورها را با فاصله یا کاما جدا کنید، و برای محافظت از فاصله‌ها در برابر پوسته از نقل‌قول استفاده نمایید. نام دستورها به حروف بزرگ و کوچک حساس نیستند. .IP "\fB\-Q \fIcommand,command,...\fR" پس از دریافت یکی از دستورهای مشخص‌شده، یک پاسخ 421 ارسال کرده و ارتباط را قطع می‌کند. .sp نمونه‌هایی از دستورها عبارتند از CONNECT، HELO، EHLO، LHLO، MAIL، RCPT، VRFY، DATA، .، RSET، NOOP و QUIT. نام دستورها را با فاصله یا کاما جدا کنید، و برای محافظت از فاصله‌ها در برابر پوسته از نقل‌قول استفاده نمایید. نام دستورها به حروف بزرگ و کوچک حساس نیستند. .IP "\fB\-r \fIcommand,command,...\fR" دستورهای مشخص‌شده را با یک کد خطای نرم (4xx) رد می‌کند. این گزینه مستلزم \fB\-p\fR است. .sp نمونه‌هایی از دستورها عبارتند از CONNECT، HELO، EHLO، LHLO، MAIL، RCPT، VRFY، DATA، .، RSET، NOOP و QUIT. نام دستورها را با فاصله یا کاما جدا کنید، و برای محافظت از فاصله‌ها در برابر پوسته از نقل‌قول استفاده نمایید. نام دستورها به حروف بزرگ و کوچک حساس نیستند. .IP "\fB\-R \fIroot\-directory\fR" دایرکتوری ریشهٔ فرایند را به مکان مشخص‌شده تغییر می‌دهد. این گزینه نیازمند امتیازات مدیر سیستم (super\-user) است. همچنین گزینهٔ \fB\-u\fR را ببینید. .IP "\fB\-s \fIcommand,command,...\fR" دستورهای مشخص‌شده را در syslogd ثبت می‌کند. .sp نمونه‌هایی از دستورها عبارتند از CONNECT، HELO، EHLO، LHLO، MAIL، RCPT، VRFY، DATA، .، RSET، NOOP و QUIT. نام دستورها را با فاصله یا کاما جدا کنید، و برای محافظت از فاصله‌ها در برابر پوسته از نقل‌قول استفاده نمایید. نام دستورها به حروف بزرگ و کوچک حساس نیستند. .IP "\fB\-S start\-string\fR" یک رشتهٔ اختیاری که به ابتدای هر پیامی که درون فایل رونوشت نوشته می‌شود اضافه می‌گردد (توضیحات قالب فایل رونوشت را در زیر ببینید). دنباله‌های گریز زبان C زیر پشتیبانی می‌شوند: \ea (زنگ)، \eb (پس‌بر)، \ef (برگه‌خور)، \en (خط جدید)، \er (بازگشت به ابتدای سطر)، \et (تب افقی)، \ev (تب عمودی)، \e\fIddd\fR (حداکثر سه رقم هشت‌هشتی) و \e\e (نویسهٔ بک‌اسلش). .IP "\fB\-t \fItimeout\fR (پیش‌فرض: 100)" محدود کردن زمان دریافت یک دستور یا ارسال یک پاسخ. محدودیت زمانی بر حسب ثانیه مشخص می‌شود. .IP "\fB\-T \fIwindowsize\fR" اندازهٔ پیش‌فرض پنجرهٔ TCP را بازنویسی می‌کند. برای دور زدن پیاده‌سازی‌های معیوب مقیاس‌پذیری پنجرهٔ TCP، مقداری بزرگ‌تر از 0 و کوچک‌تر از 65536 تعیین کنید. .IP "\fB\-u \fIusername\fR" پس از باز کردن سوکت شبکه و تغییر اختیاری دایرکتوری ریشهٔ فرایند، به امتیازات کاربر مشخص‌شده تغییر وضعیت می‌دهد. این گزینه زمانی که فرایند با امتیازات مدیر سیستم اجرا می‌شود الزامی است. همچنین گزینهٔ \fB\-R\fR را ببینید. .IP \fB\-v\fR مکالمات SMTP را نمایش می‌دهد. .IP "\fB\-w \fIdelay\fR" پیش از پاسخ دادن به یک دستور DATA، به مدت \fIdelay\fR ثانیه صبر می‌کند. .IP "\fB\-W \fIcommand:delay[:odds]\fR" پیش از پاسخ دادن به \fIcommand\fR، به مدت \fIdelay\fR ثانیه صبر می‌کند. اگر \fIodds\fR نیز مشخص شده باشد (عددی بین 1\-99 شامل هر دو)، به اندازهٔ یک ضریب تصادفی از \fIdelay\fR صبر می‌کند. این ضریب تصادفی برابر است با تعداد دفعاتی که برنامه نیاز دارد یک تاس را با بازهٔ شامل 0..99 بیندازد، پیش از آنکه تاس نتیجه‌ای بزرگ‌تر یا مساوی \fIodds\fR تولید کند. .IP [\fBinet:\fR][\fIhost\fR]:\fIport\fR روی رابط شبکهٔ \fIhost\fR (پیش‌فرض: هر رابطی) و پورت TCP با شمارهٔ \fIport\fR گوش فرا می‌دهد. هر دو مقدار \fIhost\fR و \fIport\fR را می‌توان به صورت عددی یا نمادین تعیین کرد. .IP \fBunix:\fR\fIpathname\fR روی سوکت دامنهٔ یونیکس در \fIpathname\fR گوش فرا می‌دهد. .IP \fIbacklog\fR حداکثر طول صف اتصال‌های در انتظار، همان‌طور که توسط فراخوان سیستمی \fBlisten\fR(2) تعریف شده است. .SH "قالب فایل رونوشت (DUMP FILE FORMAT)" .na .nf .ad .fi هر پیام رونوشت‌شده شامل دنباله‌ای از سطرهای متنی است که با نویسهٔ خط جدید خاتمه می‌یابند. ترتیب اطلاعات به شرح زیر است: .IP \(bu رشتهٔ اختیاری مشخص‌شده با گزینهٔ \fB\-S\fR. .IP \(bu سرایندهای تولیدشده توسط \fBsmtp\-sink\fR همان‌طور که در زیر مستند شده است. .IP \(bu سرایند و بدنهٔ پیام همان‌طور که از کلاینت SMTP دریافت شده است. .IP \(bu یک سطر خالی. .PP قالب سرایندهای تولیدشده توسط \fBsmtp\-sink\fR به شرح زیر است: .IP "\fBX\-Client\-Addr: \fItext\fR" نشانی IP کلاینت بدون کروشه‌های [] پیرامونی. پیشوند "ipv6:" به ابتدای یک نشانی IPv6 افزوده می‌شود. این رکورد همواره وجود دارد. .IP "\fBX\-Client\-Proto: \fItext\fR" پروتکل کلاینت: SMTP، ESMTP یا LMTP. این رکورد همواره وجود دارد. .IP "\fBX\-Helo\-Args: \fItext\fR" آرگومان‌های آخرین دستور HELO یا EHLO پیش از این تراکنش تحویل نامه. این رکورد تنها در صورتی وجود دارد که کلاینت پیش از دستور DATA، یک دستور قابل شناسایی HELO یا EHLO ارسال کرده باشد. .IP "\fBX\-Mail\-Args: \fItext\fR" آرگومان‌های دستور MAIL که این تراکنش تحویل نامه را آغاز کرده است. این رکورد دقیقاً یک بار وجود دارد. .IP "\fBX\-Rcpt\-Args: \fItext\fR" آرگومان‌های یک دستور RCPT در این تراکنش تحویل نامه. برای هر دستور RCPT یک رکورد وجود دارد و به ترتیبی هستند که توسط کلاینت ارسال شده‌اند. .IP "\fBReceived: \fItext\fR" یک سرایند پیام برای سازگاری با نرم‌افزارهای پردازش نامه. این سرایند سه‌خطی نشان‌دهندهٔ پایان سرایندهای ارائه‌شده توسط \fBsmtp\-sink\fR است، و قالب آن به شرح زیر می‌باشد: .RS .IP "\fBfrom \fIhelo\fR ([\fIaddr\fR])" آرگومان دستور HELO یا EHLO و نشانی IP کلاینت. اگر کلاینت HELO یا EHLO ارسال نکرده باشد، به جای آن از نشانی IP کلاینت استفاده می‌شود. .IP "\fBby \fIhost\fB (smtp\-sink) with \fIproto\fB id \fIrandom\fB;\fR" نام میزبان مشخص‌شده با گزینهٔ \fB\-h\fR، پروتکل کلاینت (\fBX\-Client\-Proto\fR در بالا را ببینید)، و بخش شبه‌تصادفی از نام فایل ذخیره به ازای هر پیام. .IP \fItime\-stamp\fR یک برچسب زمانی همان‌طور که در RFC 2822 تعریف شده است. .RE .SH "همچنین ببینید (SEE ALSO)" .na .nf smtp\-source(1)، تولیدکنندهٔ پیام SMTP/LMTP .SH "مجوز (LICENSE)" .na .nf .ad .fi مجوز Secure Mailer باید به همراه این نرم‌افزار توزیع شود. .SH "نویسندگان (AUTHORS)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Wietse Venema Google, Inc. 111 8th Avenue New York, NY 10011, USA