SMTPCTL(8) System Manager's Manual SMTPCTL(8)

smtpctl, mailq — کنترل دیمن SMTP

smtpctl دستور [آرگومان ...] mailq

برنامه smtpctl دیمن smtpd(8) را کنترل می‌کند. دستورات را می‌توان به کوتاه‌ترین پیشوند بدون ابهام خلاصه کرد؛ برای نمونه، sh ro به جای show routes.

دستور mailq جهت سازگاری با سایر MTAها ارائه شده است و صرفاً یک میان‌بر برای show queue می‌باشد.

دستورات زیر در دسترس هستند:

envelope-id | message-id
زمان‌بندی مجدد یک پاکت نامه (envelope)، یا تمام پاکت‌های دارای همان شناسه پیام (message ID) که به صورت دستی به صف منتقل شده بودند.
[string]
رمزگذاری گذرواژه string به قالبی مناسب برای اعتبارنامه‌های کاربر و چاپ آن در خروجی استاندارد. اگر string مشخص نشده باشد، گذرواژه‌ها به صورت متن آشکار از ورودی استاندارد خوانده می‌شوند.

توصیه می‌شود از ارائه گذرواژه به عنوان پارامتر خودداری کنید زیرا از طریق خروجی دستورات top(1) و ps(1) قابل مشاهده خواهد بود.

غیرفعال کردن ثبت گزارش‌های اشکال‌زدایی پرجزئیات.
فعال کردن ثبت گزارش‌های اشکال‌زدایی پرجزئیات.
نمایش به‌روزرسانی‌های برخی شمارنده‌های داخلی smtpd(8) در فواصل یک ثانیه‌ای. هر خط افزایش همه شمارنده‌ها را از زمان آخرین به‌روزرسانی گزارش می‌دهد، به جز برخی شمارنده‌ها که همواره مقادیر مطلق هستند. سطر اول مقدار جاری هر شمارنده را گزارش می‌کند. فیلدها عبارتند از:
  • تعداد فعلی کلاینت‌های فعال SMTP (مقدار مطلق).
  • کلاینت‌های جدید SMTP.
  • کلاینت‌های قطع‌شده.
  • تعداد فعلی پاکت‌ها در صف (مقدار مطلق).
  • پاکت‌های به تازگی وارد صف‌شده.
  • پاکت‌های خارج‌شده از صف.
  • تحویل‌های موفق.
  • شکست‌های موقت.
  • شکست‌های دائمی.
  • حلقه‌های پیام (message loops).
  • پاکت‌های منقضی‌شده.
  • پاکت‌های حذف‌شده توسط مدیر سیستم.
  • پیام‌های برگشتی (bounce) تولیدشده.
envelope-id | message-id |
تعلیق موقت زمان‌بندی برای پاکت با شناسه مشخص، پاکت‌های با شناسه پیام معین، یا تمام پاکت‌ها.
توقف موقت تحویل نامه‌ها به کاربران محلی.
توقف موقت رله و تحویل نامه‌ها به کاربران راه دور.
توقف موقت پذیرش نشست‌های ورودی.
subsystem
فعال‌سازی تحلیل کارایی بلادرنگ (profiling) برای subsystem. زیرسیستم‌های پشتیبانی‌شده عبارتند از:
  • queue، جهت بررسی هزینه ورودی/خروجی صف
  • imsg، جهت بررسی هزینه گرداننده‌های رویداد
envelope-id | message-id |
حذف یک پاکت منفرد، پاکت‌های با شناسه پیام مشخص، یا تمام پاکت‌ها.
envelope-id | message-id |
از سرگیری زمان‌بندی برای پاکت با شناسه مشخص، پاکت‌های با شناسه پیام مشخص، یا تمام پاکت‌ها.
از سرگیری تحویل پیام‌ها به کاربران محلی.
از سرگیری رله و تحویل به کاربران راه دور.
route-id
از سرگیری مسیریابی در مسیر غیرفعال‌شده route-id.
از سرگیری پذیرش نشست‌های ورودی.
envelope-id | message-id |
نشانه‌گذاری به عنوان آماده برای تحویل فوری برای یک پاکت، پاکت‌های با شناسه پیام مشخص، یا تمام پاکت‌ها.
envelope-id
نمایش محتوای پاکت برای شناسه داده‌شده.
نمایش فهرست میزبان‌های راه دور MX شناخته‌شده. برای هر یک از آن‌ها، آدرس IP، نام میزبان متعارف، شمارنده ارجاع، تعداد اتصالات فعال به این میزبان و زمان سپری‌شده از آخرین اتصال را نمایش می‌دهد.
نمایش وضعیت آخرین تحویل برای دامنه‌هایی که در ۴ ساعت گذشته فعال بوده‌اند. شامل فیلدهای زیر است که با نویسه "|" از یکدیگر جدا شده‌اند:
  • دامنه.
  • برچسب زمانی UNIX آخرین تحویل.
  • وضعیت آخرین تحویل.
envelope-id
نمایش محتوای پیام برای شناسه داده‌شده.
نمایش اطلاعات مربوط به پاکت‌هایی که در حال حاضر در صف هستند. هر خط از خروجی یک پاکت منفرد را توصیف می‌کند. شامل فیلدهای زیر است که با "|" جدا شده‌اند:
  • شناسه پاکت (Envelope ID).
  • خانواده آدرس کلاینتی که نامه را در صف قرار داده است.
  • نوع تحویل: یکی از مقادیر "mta" ،"mda" یا "bounce".
  • فلگ‌های مختلف روی پاکت.
  • آدرس فرستنده (مسیر بازگشت).
  • آدرس گیرنده اصلی.
  • آدرس مقصد.
  • زمان ایجاد.
  • زمان انقضا.
  • زمان آخرین تلاش برای تحویل یا رله.
  • تعداد دفعات تلاش برای تحویل یا رله.
  • وضعیت اجرای جاری: یکی از مقادیر "pending" یا "inflight" در صورتی که smtpd(8) در حال اجرا باشد، یا "offline" در غیر این صورت.
  • تأخیر بر حسب ثانیه تا تلاش بعدی در صورت در انتظار بودن، یا زمان سپری‌شده در صورت اجرای فعلی. اگر smtpd(8) در حال اجرا نباشد این فیلد خالی است.
  • رشته خطای آخرین تلاش ناموفق برای تحویل یا رله.
نمایش فهرست رله‌های فعال فعلی و رابط‌های اتصال (connectors) مرتبط. برای هر رله، تعدادی شمارنده و اطلاعات درباره وضعیت داخلی آن در یک خط نمایش داده می‌شود. سپس فهرست اتصالات می‌آید (آدرس‌های مبدأ که باید از آن‌ها برای این رله متصل شد).
نمایش وضعیت مسیرهایی که در حال حاضر توسط smtpd(8) شناخته شده‌اند. هر خط شامل شماره مسیر، آدرس مبدأ، آدرس مقصد، مجموعه‌ای از فلگ‌ها، تعداد اتصالات روی این مسیر، سطح جریمه فعلی که مدت زمان غیرفعال شدن مسیر در صورت بروز خطا را تعیین می‌کند، و تأخیر پیش از فعال‌سازی مجدد آن است. فلگ‌های زیر تعریف شده‌اند:
D
مسیر در حال حاضر غیرفعال است.
N
مسیر جدید است و هنوز هیچ نشست SMTP برقرار نشده است.
Q
مسیر دارای یک مهلت زمانی ثبت‌شده برای کاهش سطح جریمه و احتمالاً فعال‌سازی مجدد یا کنار گذاشتن آن است.
نمایش آمارهای زمان اجرای مربوط به smtpd(8).
نمایش وضعیت اجرای سیستم‌های MTA ،MDA و SMTP (در حال اجرا یا موقتاً متوقف).
جستجوی بازگشتی رکوردهای SPF برای دامنه‌های خوانده‌شده از ورودی استاندارد (stdin). برای نمونه:
$ smtpctl spf walk < domains.txt

رکوردهای SPF ممکن است حاوی ماکروهایی باشند که نمی‌توانند در یک لیست ایستا گنجانده شوند و باید به صورت پویا در زمان اتصال تفکیک شوند. دستور spf walk در این موارد نمی‌تواند نتایج کاملی ارائه دهد.

subsystem
فعال‌سازی ردگیری بلادرنگ (tracing) برای subsystem. زیرسیستم‌های پشتیبانی‌شده عبارتند از:
  • imsg
  • io
  • smtp (نشست‌های ورودی)
  • filters
  • mta (نشست‌های خروجی)
  • bounce
  • scheduler
  • expand (بسط نام‌های مستعار/مجازی/فوروارد)
  • lookup (جستجوی کاربران/اعتبارنامه‌ها)
  • stat
  • rules (منطبق بر نشست‌های ورودی)
  • mproc
  • all
subsystem
غیرفعال‌سازی تحلیل کارایی بلادرنگ برای subsystem.
subsystem
غیرفعال‌سازی ردگیری بلادرنگ برای subsystem.
name
به‌روزرسانی محتوای جدول name ، برای جدول‌هایی که از بک‌اند “file” استفاده می‌کنند.

هنگامی که smtpd پیامی را دریافت می‌کند، یک message-id برای پیام و یک envelope-id به ازای هر گیرنده تولید می‌کند. شناسه message-id یک شناسه تصادفی ۳۲ بیتی است که تضمین می‌شود روی سیستم میزبان یکتا باشد. شناسه envelope-id یک شناسه یکتای ۶۴ بیتی است که message-id را در ۳۲ بیت بالایی و یک شناسه پاکت تصادفی را در ۳۲ بیت پایینی کدگذاری می‌کند.

دستوری که یک message-id را مشخص می‌کند برای تمامی گیرندگان یک پیام اعمال می‌شود؛ دستوری که یک envelope-id را مشخص می‌کند برای یک گیرنده خاص از پیام اعمال خواهد شد.

/run/smtpd.sock
سوکت دامنه UNIX مورد استفاده برای ارتباط با smtpd(8).

smtpd(8)

برنامه smtpctl نخستین بار در OpenBSD 4.6 ظاهر شد.

: Linux 6.12.107+deb13-amd64