.\" Automatically generated by Pandoc 2.9.2.1 .\" .TH "amavisd-milter" "8" "" "Version 1.7.2" "System Manager\[cq]s Manual" .hy .SH "نام (NAME)" amavisd-milter \- میلتر sendmail برای amavis .SH "خلاصه دستور (SYNOPSIS)" .PP \f[B]amavisd-milter\f[R] [\f[B]-Bfhv\f[R]] [\f[B]-d\f[R]\ \f[I]debug-level\f[R]] [\f[B]-D\f[R]\ \f[I]delivery-care-of\f[R]] [\f[B]-m\f[R]\ \f[I]max-conns\f[R]] [\f[B]-M\f[R]\ \f[I]max-wait\f[R]] [\f[B]-p\f[R]\ \f[I]pidfile\f[R]] [\f[B]-P\f[R]] [\f[B]-q\f[R]\ \f[I]backlog\f[R]] [\f[B]-s\f[R]\ \f[I]socket\f[R]] [\f[B]-t\f[R]\ \f[I]timeout\f[R]] [\f[B]-S\f[R]\ \f[I]socket\f[R]] [\f[B]-T\f[R]\ \f[I]timeout\f[R]] [\f[B]-w\f[R]\ \f[I]directory\f[R]] .SH "توضیحات (DESCRIPTION)" .PP برنامه \f[B]amavisd-milter\f[R] یک میلتر sendmail (فیلتر ایمیل) برای amavis نسخه 2.4.3 و بالاتر و sendmail نسخه 8.13 و بالاتر است. .PP با \f[B]amavisd-milter\f[R]، تمام قابلیت‌های amavis در دسترس است، از جمله افزودن فیلدهای سرآیند اطلاعات هرزنامه و ویروس، تغییر موضوع (Subject)، افزودن پسوندهای نشانی و حذف برخی دریافت‌کنندگان از تحویل، در حالی که همان پیام به سایرین تحویل داده می‌شود. .PP برای اطلاعات بیشتر می‌توانید از وب‌سایت amavisd-milter بازدید کنید: .RS .PP https://github.com/prehor/amavisd-milter .RE .SS "گزینه‌ها (Options)" .PP گزینه‌ها به شرح زیر هستند: .TP \f[B]-B\f[R] از ماکروی میلتر \f[I]{daemon_name}\f[R] به عنوان نام بانک خط‌مشی (policy bank) استفاده می‌کند (بخش \f[B]بانک‌های خط‌مشی (POLICY BANKS)\f[R] در ادامه را ببینید). .TP \f[B]-d\f[R] \f[I]debug-level\f[R] سطح اشکال‌زدایی را تنظیم می‌کند. با افزایش سطح اشکال‌زدایی، ردگیری‌های رفع اشکال دقیق‌تر می‌شوند. حداکثر مقدار 9 است. .TP \f[B]-D\f[R] \f[I]delivery-care-of\f[R] صفت درخواست AM.PDP به نام \f[I]delivery_care_of\f[R] را روی \f[I]client\f[R] (پیش‌فرض) یا \f[I]server\f[R] تنظیم می‌کند. .PP هنگامی که از روش \f[I]client\f[R] استفاده می‌شود، \f[B]amavisd-milter\f[R] مسئول بازفرستادن پیام به دریافت‌کنندگان است. این روش اجازه تغییر شخصی‌سازی‌شده سرآیند یا بدنه پیام را نمی‌دهد. .PP هنگامی که از روش \f[I]server\f[R] استفاده می‌شود، amavis مسئول بازفرستادن پیام به دریافت‌کنندگان است و می‌تواند سرآیندها و بدنه پیام‌ها را شخصی‌سازی کند. متغیر \f[I]$forward_method\f[R] در فایل \f[B]amavisd.conf\f[R] باید به مقصدی اشاره کند که پیام را بدون بررسی مجدد در amavis بپذیرد. .TP \f[B]-f\f[R] اجرای \f[B]amavisd-milter\f[R] در پیش‌زمینه (یعنی به صورت دیمن اجرا نشود). پیام‌های اشکال‌زدایی را در ترمینال چاپ می‌کند. .TP \f[B]-h\f[R] نمایش صفحه راهنما و خروج. .TP \f[B]-m\f[R] \f[I]max-conns\f[R] حداکثر اتصالات هم‌روند amavis (پیش‌فرض 0 = تعداد نامحدود اتصالات). این مقدار باید با متغیر \f[I]$max_servers\f[R] در فایل \f[B]amavisd.conf\f[R] یکسان باشد. .TP \f[B]-M\f[R] \f[I]timeout\f[R] مهلت زمانی پردازش پیام بر حسب ثانیه (پیش‌فرض ۳۰۰ ثانیه = ۵ دقیقه). باید کمتر از مهلت زمانی برای پاسخ به «.» نهایی باشد که پیام را در MTA ارسال‌کننده خاتمه می‌دهد. \f[B]Sendmail\f[R] از مقدار پیش‌فرض ۱ ساعت، \f[B]postfix\f[R] از ۱۰ دقیقه و \f[B]qmail\f[R] از ۲۰ دقیقه استفاده می‌کنند. مقدار پیشنهادی کمتر از ۱۰ دقیقه است. .PP اگر از سایر میلترها (به ویژه موارد زمان‌بر) استفاده می‌کنید، مهلت زمانی باید برای پردازش پیام در تمام میلترها کافی باشد. .TP \f[B]-p\f[R] \f[I]pidfile\f[R] استفاده از این فایل pid. .TP \f[B]-P\f[R] هنگامی که amavis با شکست مواجه می‌شود، پیام بدون بررسی عبور داده خواهد شد. .TP \f[B]-q\f[R] \f[I]backlog\f[R] صف انتظار سوکت ورودی (backlog) مورد استفاده توسط \f[B]listen(2)\f[R] را تنظیم می‌کند. اگر تنظیم نشده باشد یا روی صفر تنظیم شود، از مقدار پیش‌فرض سیستم‌عامل استفاده می‌شود. .TP \f[B]-s\f[R] \f[I]socket\f[R] سوکت ارتباطی میان sendmail و amavisd-milter. پروتکل مورد استفاده روی این سوکت \f[I]MILTER\f[R] (فیلتر ایمیل) است. این مقدار باید با ماکروی \f[I]INPUT_MAIL_FILTER\f[R] در فایل \f[B]sendmail.mc\f[R] یکسان باشد. .PP مقدار \f[I]socket\f[R] باید به قالب \f[I]proto:address\f[R] باشد: .RS .IP \[bu] 2 \f[I]{unix|local}:/path/to/file\f[R] - یک لوله نام‌گذاری‌شده (named pipe). .IP \[bu] 2 \f[I]inet:port\[at]{hostname|ip-address}\f[R] - یک سوکت IPv4. .IP \[bu] 2 \f[I]inet6:port\[at]{hostname|ip-address}\f[R] - یک سوکت IPv6. .RE .TP \f[B]-S\f[R] \f[I]socket\f[R] سوکت ارتباطی میان amavisd-milter و amavis. پروتکل مورد استفاده روی این سوکت \f[I]AM.PDP\f[R] (پروتکل تفویض خط‌مشی AMavis) است. این مقدار باید با متغیر \f[I]$unix_socketname\f[R] در فایل \f[B]amavisd.conf\f[R] یکسان باشد. .PP مقدار \f[I]socket\f[R] باید به قالب \f[I]proto:address\f[R] باشد: .RS .IP \[bu] 2 \f[I]{unix|local}:/path/to/file\f[R] - یک لوله نام‌گذاری‌شده (named pipe). .IP \[bu] 2 \f[I]inet:port\[at]{hostname|ip-address}\f[R] - یک سوکت IPv4. .IP \[bu] 2 \f[I]inet6:port\[at]{hostname|ip-address}\f[R] - یک سوکت IPv6. .RE .TP \f[B]-t\f[R] \f[I]timeout\f[R] مهلت زمانی اتصال sendmail بر حسب ثانیه (پیش‌فرض ۶۰۰ = ۱۰ دقیقه). باید با ماکروی \f[I]INPUT_MAIL_FILTER\f[R] در فایل \f[B]sendmail.mc\f[R] یکسان باشد و باید بزرگتر یا مساوی با مهلت زمانی اتصال amavis باشد. .PP اگر از سایر میلترها (به ویژه موارد زمان‌بر) استفاده می‌کنید، مهلت زمانی باید برای پردازش پیام در تمام میلترها کافی باشد. .TP \f[B]-T\f[R] \f[I]timeout\f[R] مهلت زمانی اتصال amavis بر حسب ثانیه (پیش‌فرض ۶۰۰ = ۱۰ دقیقه). باید برای پردازش پیام در amavis کافی باشد. معمولاً بهتر است آن را روی مقداری برابر با مهلت زمانی اتصال sendmail تنظیم کنید. .TP \f[B]-v\f[R] گزارش شماره نسخه و خروج. .TP \f[B]-w\f[R] \f[I]directory\f[R] تنظیم دایرکتوری کاری. .SH "بانک‌های خط‌مشی (POLICY BANKS)" .PP اگر گزینه \f[B]-B\f[R] فعال باشد، \f[B]amavisd-milter\f[R] از مقدار ماکروی میلتر \f[I]{daemon_name}\f[R] به عنوان نام بانک خط‌مشی amavis استفاده می‌کند. معمولاً این ماکروی میلتر روی نام MTA تنظیم می‌شود. .PP هنگامی که کلاینت دوردست احراز هویت می‌شود، \f[B]amavisd-milter\f[R] از اطلاعات احراز هویت به عنوان نام بانک‌های خط‌مشی amavis استفاده می‌کند: .TP \f[B]\f[R]\f[C]SMTP_AUTH\f[R]\f[B]\f[R] کلاینت دوردست احراز هویت شده است. .TP \f[B]\f[R]\f[C]SMTP_AUTH_\f[R]\f[B]\f[R] سازوکار احراز هویت کلاینت دوردست. .TP \f[B]\f[R]\f[C]SMTP_AUTH__\f[R]\f[B]\f[R] تعداد بیت‌های مورد استفاده برای کلید رمزنگاری متقارن، در صورتی که سازوکار احراز هویت از آن استفاده کند. .SH "مثال‌ها (EXAMPLES)" .SS "پیکربندی amavis" .PP در فایل \f[B]amavisd.conf\f[R] پروتکل و سوکت amavis را به موارد زیر تنظیم کنید: .IP .nf \f[C] $protocol = \[dq]AM.PDP\[dq]; # Use AM.PDP protocol $unix_socketname = \[dq]$MYHOME/amavisd.sock\[dq]; # Listen on Unix socket ### $inet_socket_port = 10024; # Do not listen on TCP port \f[R] .fi .PP سپس دیمن amavisd را (مجدداً) راه‌اندازی کنید. .SS "پیکربندی Postfix" .PP ورودی‌های زیر را به فایل \f[B]main.cf\f[R] در Postfix اضافه کنید: .IP .nf \f[C] smtpd_milters = local: milter_connect_macros = j {client_name} {daemon_name} v milter_protocol = 6 \f[R] .fi .PP سپس دیمن Postfix را (مجدداً) راه‌اندازی کنید. .SS "پیکربندی sendmail" .PP ورودی‌های زیر را به فایل \f[B]sendmail.mc\f[R] اضافه کنید: .IP .nf \f[C] define(\[ga]confMILTER_MACROS_CONNECT\[aq], confMILTER_MACROS_CONNECT\[ga], {client_resolve}\[aq]) define(\[ga]confMILTER_MACROS_ENVFROM\[aq], confMILTER_MACROS_ENVFROM\[ga], r, b\[aq]) INPUT_MAIL_FILTER(\[ga]amavisd-milter\[aq], \[ga]S=local:, F=T, T=S:10m;R:10m;E:10m\[aq]) \f[R] .fi .PP سپس فایل \f[B]sendmail.cf\f[R] را دوباره بسازید، آن را نصب کرده و دیمن sendmail را (مجدداً) راه‌اندازی کنید. .SS "اجرای amavisd-milter" .PP این مثال فرض می‌کند که amavis با کاربر \f[I]vscan\f[R] در حال اجرا است. نام واقعی در متغیر \f[I]$daemon_user\f[R] در فایل \f[B]amavisd.conf\f[R] نمایش داده می‌شود. .SS "محدود کردن حداکثر اتصالات هم‌روند به amavisd" .PP برای محدود کردن حداکثر اتصالات هم‌روند به amavis، دستور \f[B]amavisd-milter\f[R] را با این گزینه‌ها اجرا کنید: .IP .nf \f[C] su - vscan -c \[dq]amavisd-milter -m 4\[dq] \f[R] .fi .SS "عیب‌یابی" .PP برای عیب‌یابی، \f[B]amavisd-milter\f[R] را در پیش‌زمینه اجرا کرده و سطح اشکال‌زدایی را روی مقدار مناسب تنظیم کنید: .IP .nf \f[C] su - vscan -c \[dq]amavisd-milter -f -d 4\[dq] \f[R] .fi .PP سطوح اشکال‌زدایی عبارتند از: .IP \[bu] 2 1 - خطا نیستند بلکه وضعیت‌های غیرمنتظره هستند (مانند قطع اتصال و غیره). .IP \[bu] 2 2 - وضعیت‌های اصلی در پردازش پیام. .IP \[bu] 2 3 - تمام پیام‌های اشکال‌زدایی amavisd-milter. .IP \[bu] 2 4-9 - اشکال‌زدایی ارتباط میلتر (تنظیم \f[B]smfi_setdbg\f[R] روی 1-6). .SH "همچنین ببینید (SEE ALSO)" .IP \[bu] 2 https://github.com/prehor/amavisd-milter .IP \[bu] 2 https://www.ijs.si/software/amavisd .IP \[bu] 2 https://www.sendmail.org .SH "نویسندگان (AUTHORS)" .PP این صفحه راهنما توسط Petr Rehor نوشته شده و بر پایه کارهای اولیه Jerzy Sakol است. .SH "گزارش اشکالات (BUGS)" .PP مشکلات را می‌توان با استفاده از گیت‌هاب در آدرس زیر گزارش داد: .RS .PP https://github.com/prehor/amavisd-milter/issues .RE .PP برای اطلاعات دقیق و کامل درباره نحوه گزارش مشکلات، لطفاً راهنمای مشارکت را در نشانی زیر ببینید: .RS .PP https://github.com/prehor/amavisd-milter/blob/master/CONTRIBUTING.md .RE .PP از پیشنهادات بهبود، درخواست‌ها و گزارش‌های مشکلات استقبال می‌شود. .PP اگر به مشکلی برخوردید، قبل از ایجاد یک مورد جدید، ابتدا مسائل (issues) گیت‌هاب را بررسی کنید. بسیار محتمل است که شخص دیگری با همین مشکل مواجه شده و قبلاً حل شده باشد.