.TH nullmailer-send 8 .SH "نام (NAME)" nullmailer-send \- ارسال پیام‌های قرار گرفته در صف .SH "خلاصه دستور (SYNOPSIS)" .B nullmailer-send .SH "توضیحات (DESCRIPTION)" این برنامه مسئول هماهنگی ارسال پیام‌هایی است که توسط .B nullmailer-queue در صف قرار گرفته‌اند. این برنامه از ماژول‌های پروتکل گوناگونی برای تحویل پیام‌ها از صف به کارگزارهای دوردست «هوشمند» (smart servers) استفاده می‌کند. .P هنگام آغاز به کار برنامه، صف برای ساخت فهرستی از پیام‌های آماده ارسال پیمایش می‌شود. صف زمانی مجدداً بررسی می‌شود که یا ماشه (trigger) فعال شود، یا پس از گذشت .B pausetime ثانیه از آخرین ارسال ناموفق گذشته باشد. هنگامی که هیچ پیامی در صف وجود ندارد، nullmailer هیچ بررسی مجددی انجام نمی‌دهد مگر اینکه ماشه فعال شود. فعال کردن ماشه شامل باز کردن لوله نام‌گذاری‌شده (named pipe) مربوط به trigger و نوشتن یک بایت در آن است که باعث بیدار شدن این برنامه می‌شود (در صورتی که هم‌اکنون مشغول پردازش صف نباشد). این رویه توسط .B nullmailer-queue انجام می‌شود تا اطمینان حاصل شود که پیام‌ها بلافاصله تحویل داده می‌شوند. می‌توانید ارسال را به‌صورت دستی از خط فرمان به این صورت آغاز کنید: .EX echo 1 > trigger .EE .P تحویل پیام‌ها شامل خواندن فهرست کارگزارهای دوردست و سپس تلاش برای تحویل پیام‌ها به این کارگزارها به شرح زیر است. به ازای هر کارگزار دوردست در فهرست، گرداننده پروتکل تعیین‌شده به ازای هر پیام باقی‌مانده در صف یک بار اجرا می‌شود. اگر گرداننده پروتکل موفق شود، پیام از صف حذف شده و پردازش با پیام بعدی ادامه می‌یابد. اگر گرداننده پروتکل یک خطای دائمی گزارش کند، یا پیام بیشتر از .IR queuelifetime در صف مانده باشد، پیام به صف .B failed منتقل شده و یک پیام برگشتی (bounce message) توسط .B nullmailer-dsn تولید می‌شود. اگر پیامی در صف باقی بماند، پردازش پیام‌های باقی‌مانده با کارگزار دوردست بعدی ادامه می‌یابد. هنگامی که تمام کارگزارهای دوردست امتحان شدند، .B nullmailer-send برای تعداد ثانیه‌های مشخص‌شده توسط .B pausetime به خواب می‌رود پیش از آنکه ارسال محتویات صف را دوباره امتحان کند. .SH "فایل‌های کنترلی (CONTROL FILES)" تمام فایل‌های کنترلی هر بار که صف اجرا می‌شود دوباره خوانده می‌شوند. .TP .B helohost متغیر محیطی .B $HELOHOST را تنظیم می‌کند که توسط ماژول پروتکل SMTP برای مشخص کردن پارامتر ارائه‌شده به دستور .I HELO استفاده می‌شود. مقدار پیش‌فرض آن برابر با مقدار فایل پیکربندی .B me است. .TP .B maxpause حداکثر زمان مکث میان اجراهای متوالی صف، بر حسب ثانیه. مقدار پیش‌فرض ۲۴ ساعت .RB ( 86400 ) است. .TP .B pausetime حداقل زمان مکث میان اجراهای متوالی صف در زمان وجود پیام در صف، بر حسب ثانیه. مقدار پیش‌فرض ۱ دقیقه .RB ( 60 ) است. هر بار که این زمان‌بندی سررسید می‌شود، زمان انتظار تا سقف حداکثری .B maxpause دو برابر می‌شود. پس از تزریق پیام‌های جدید، زمان انتظار بازنشانی می‌گردد. اگر این مقدار روی .B 0 تنظیم شود، nullmailer-send بلافاصله پس از یک بار پیمایش صف خارج می‌شود (حالت تک‌گذره یا one-shot). .TP .B queuelifetime حداکثر زمانی که یک پیام اجازه دارد پیش از آنکه به‌طور دائمی ناموفق تلقی شود در صف بماند، بر حسب ثانیه. مقدار پیش‌فرض ۷ روز .RB ( 604800 ) است. .TP .B remotes این فایل شامل فهرستی از کارگزارهای دوردست است که هر پیام باید به آن‌ها ارسال شود. هر خط این فایل شامل یک نام میزبان یا آدرس دوردست است که پس از آن یک رشته اختیاری پروتکل قرار می‌گیرد و با فاصله از هم جدا می‌شوند. نام پروتکل به‌طور پیش‌فرض .B smtp است و می‌تواند گزینه‌های بیشتری برای آن ماژول به دنبال داشته باشد. برای مشاهده فهرست گزینه‌های موجود بخش «گزینه‌های پروتکل (PROTOCOL OPTIONS)» را ببینید. گزینه‌ها می‌توانند به‌طور اختیاری دارای پیشوند .I -- باشند، اما این کار الزامی نیست. این خط مطابق قواعد استاندارد نقل‌قول شل (shell quoting) تجزیه می‌شود. برای نمونه، جهت اتصال به پورت ۲۵۲۵ در میزبان هوشمند SMTP که به احراز هویت SMTP نیز نیاز دارد و برای آغاز TLS با STARTTLS، از این الگو استفاده کنید: .EX smarthost.dom smtp port=2525 starttls user=user pass='my pass phrase' .EE خطوط خالی و خطوطی که با علامت هش (\fI#\fR) آغاز می‌شوند نادیده گرفته می‌شوند. .TP .B sendtimeout زمان انتظار برای اتمام ارسال پیام توسط ماژول دوردست ذکرشده در بالا، پیش از خاتمه اجباری آن و تلاش مجدد، بر حسب ثانیه. مقدار پیش‌فرض ۱ ساعت .RB ( 3600 ) است. اگر این مقدار روی .B 0 تنظیم شود، .B nullmailer-send برای تکمیل ارسال پیام‌ها تا ابد منتظر خواهد ماند. .SH "گزینه‌های پروتکل (PROTOCOL OPTIONS)" .TP .B port=\fIPORT شماره پورت جایگزین برای اتصال به میزبان دوردست را تعیین می‌کند. برای نمونه، SMTP ممکن است از .B port=587 به‌عنوان پورت جایگزین تحویل پیام (submission) استفاده کند. .TP .B user=\fIUSERNAME نام کاربری احراز هویت SMTP را تعیین می‌کند. .TP .B pass=\fIPASSWORD گذرواژه احراز هویت SMTP را تعیین می‌کند. .TP .BI source= HOSTNAME آدرس مبدأ برای اتصالات به میزبان دوردست را تعیین می‌کند. .TP .B auth-login به جای تشخیص خودکار، حالت «AUTH LOGIN» در SMTP را اجبار می‌کند. .TP .B tls اتصال با استفاده از TLS را برقرار می‌کند. این گزینه به‌طور خودکار پورت پیش‌فرض را به .B 465 تغییر می‌دهد. .TP .B ssl نام مستعاری برای گزینه .B tls جهت سازگاری با نسخه‌های پیشین. .TP .B starttls از دستور .B STARTTLS برای آغاز یک نشست TLS استفاده می‌کند. .TP .B x509certfile=\fIFILENAME نام فایل گواهی کلاینت TLS را برای ارسال به کارگزار تعیین می‌کند. .TP .B x509keyfile=\fIFILENAME نام فایل کلید خصوصی مربوط به گواهی کلاینت TLS را تعیین می‌کند. پیش‌فرض آن همان نام فایل .B x509certfile است. .TP .B x509cafile=\fIFILENAME نام فایل مرجع صدور گواهی معتمد (CA trust) برای TLS را تعیین می‌کند. پیش‌فرض آن .B /etc/ssl/certs/ca-certificates.crt است. .TP .B x509crlfile=\fIFILENAME نام فایل فهرست ابطال گواهی (CRL) برای TLS را تعیین می‌کند. .TP .B x509fmtder مشخص می‌کند که فایل‌های X.509 بالا برای TLS به جای فرمت PEM در قالب DER هستند. .TP .B insecure اگر گواهی کارگزار در اعتبارسنجی شکست بخورد، اتصال TLS را متوقف نمی‌کند. تنها در صورتی از این گزینه استفاده کنید که مطمئن باشید کارگزار از یک گواهی نامعتبر استفاده می‌کند. .TP .B tls-anon-auth استفاده از احراز هویت ناشناس TLS - جایگزین احراز هویت مبتنی بر گواهی. این بدان معناست که برای برقراری اتصال به هیچ گواهی خارجی یا گذرواژه‌ای نیاز نیست. با این گزینه، اتصال شما در برابر حملات مرد میانی (حملات فعال یا تغییر مسیر) آسیب‌پذیر خواهد بود. با این حال، یکپارچگی داده‌ها حفظ شده و در برابر استراق سمع غیرفعال رمزنگاری می‌شوند. این گزینه باید به همراه گزینه insecure استفاده شود - تا تصدیق کند که می‌دانید چه کاری انجام می‌دهید. .SH "فایل‌ها (FILES)" .TP .B /var/spool/nullmailer/failed صف پیام‌های ناموفق. .TP .B /var/spool/nullmailer/queue صف پیام‌های خروجی. .TP .B /var/spool/nullmailer/trigger فایل ماشه (trigger) برای ایجاد ارسال فوری. .TP .B /usr/local/etc/nullmailer دایرکتوری پیکربندی. .TP .B /usr/local/libexec/nullmailer دایرکتوری برنامه‌های پروتکل. .SH "همچنین ببینید (SEE ALSO)" .BR nullmailer-dsn (1), .BR nullmailer-inject (1), .BR nullmailer-queue (8), .BR mailq (1) .PP راهنمای http://www.postfix.org/TLS_README.html در مورد نحوه راه‌اندازی کارگزار Postfix SMTP بدون گواهی.