BOUNCE(5) File Formats Manual BOUNCE(5)

bounce - قالب پیام‌های برگشتی (bounce) پُست‌فیکس (Postfix)

bounce_template_file = /etc/postfix/bounce.cf
postconf -b [template_file]


کارساز bounce(8) پُست‌فیکس، پیام‌های اعلان وضعیت تحویل (DSN) را برای ایمیل‌های غیرقابل تحویل، ایمیل‌های دارای تأخیر، تحویل موفق یا درخواست‌های تأیید نشانی تولید می‌کند.

به‌طور پیش‌فرض، این اعلان‌ها از الگوهای توکار شامل سرآیندهای پیام و متن پیام ایجاد می‌شوند. مدیران سیستم می‌توانند با تعیین یک فایل الگوی برگشت (bounce) از طریق پارامتر پیکربندی bounce_template_file، اطلاعات پیش‌فرض توکار را بازنویسی و لغو کنند.

این سند روال کلی ایجاد یک فایل الگوی برگشت، و سپس جزئیات دقیق قالب‌های الگوی برگشت را شرح می‌دهد.


برای ایجاد یک فایل الگوی برگشت سفارشی، یک نسخه موقت از فایل /etc/postfix/bounce.cf.default تهیه کرده و آن فایل موقت را ویرایش کنید.

برای پیش‌نمایش نتایج باز شدن و جایگزینی مقادیر $name در متن الگو، از دستور زیر استفاده کنید:

postconf -b temporary_file

خطاهای موجود در الگو به جریان خروجی خطای استاندارد و دیمن syslog گزارش خواهند شد.

هنگام پیش‌نمایش متن، حتماً توجه ویژه‌ای به بسط پارامترهای مقدار زمانی داشته باشید که در متن اعلان ایمیل دارای تأخیر ظاهر می‌شوند.

پس از رضایت‌بخش بودن نتیجه، الگو را در دایرکتوری پیکربندی پُست‌فیکس رونوشت کرده و در main.cf عبارتی شبیه به زیر را مشخص کنید:

/etc/postfix/main.cf:
    bounce_template_file = /etc/postfix/bounce.cf


فایل الگو می‌تواند الگوهایی را برای ایمیل‌های ناموفق، ایمیل‌های دارای تأخیر، تحویل موفق یا تأیید نشانی مشخص کند. این الگوها به ترتیب با نام‌های failure_template، delay_template، success_template و verify_template نامیده می‌شوند. شما می‌توانید، اما مجبور نیستید، هر چهار الگو را در یک فایل الگوی برگشت مشخص کنید.

هر الگو با عبارت "template_name = <<EOF" آغاز می‌شود و با خطی که فقط شامل کلمه "EOF" است پایان می‌یابد. می‌توانید کلمه EOF را تغییر دهید، اما نمی‌توانید آن را مانند شل یا پرل در داخل گیومه قرار دهید (template_name = <<'EOF'). در ادامه یک نمونه آورده شده است:

# الگوی failure_template برای ایمیل‌های غیرقابل تحویل استفاده می‌شود.
failure_template = <<EOF
Charset: us-ascii
From: MAILER-DAEMON (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
Postmaster-Subject: Postmaster Copy: Undelivered Mail
This is the mail system at host $myhostname.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
                   The mail system
EOF

استفاده و تعیین الگوهای برگشت مشمول محدودیت‌های زیر است:

  • هیچ معنای خاصی به نویسه بک‌اسلش یا فاصله‌های خالی ابتدای خط داده نمی‌شود؛ این موارد همیشه به‌صورت عینی و لفظی در نظر گرفته می‌شوند.
  • درون بافت <<، نویسه «$» معنای ویژه دارد. برای تولید یک نویسه «$» واقعی در خروجی، مقدار «$$» را مشخص کنید.
  • در خارج از بافت <<، خطوطی که با «#» آغاز می‌شوند نادیده گرفته می‌شوند، همان‌طور که خطوط خالی و خطوطی که فقط از فاصله‌های خالی تشکیل شده‌اند نادیده گرفته خواهند شد.

نمونه‌هایی از تمام الگوها را می‌توان در فایل bounce.cf.default در دایرکتوری پیکربندی پُست‌فیکس یافت.


بخش نخست از یک الگوی برگشت شامل سرآیندهای اختیاری الگو است. برخی از آن‌ها به سرآیندهای پیام در اعلان وضعیت تحویل تبدیل می‌شوند؛ برخی دیگر قالب‌بندی آن اعلان را کنترل می‌کنند. سرآیندهایی که در یک الگو مشخص نشده باشند، روی مقدار پیش‌فرض خود باقی می‌مانند.

سرآیندهای زیر پشتیبانی می‌شوند:

مجموعه نویسه‌های MIME برای متن پیام الگو. توضیحات «قالب متن پیام الگو» را در ادامه ببینید.
نشانی فرستنده در سرآیند پیام اعلان وضعیت تحویل.
موضوع در سرآیند پیام اعلان وضعیت تحویل که به فرستنده بازگردانده می‌شود.
موضوعی که در رونوشت‌های مدیر پست (Postmaster) از اعلان‌های ایمیل ناموفق یا دارای تأخیر استفاده خواهد شد. این رونوشت‌ها تحت کنترل پارامتر پیکربندی notify_classes ارسال می‌شوند.

استفاده و مشخص‌سازی سرآیندهای پیام الگو مشمول محدودیت‌های زیر است:

  • نام سرآیندهای پیام الگو می‌تواند با حروف بزرگ، کوچک یا ترکیبی مشخص شود. پُست‌فیکس همیشه برچسب‌های سرآیند پیام برگشتی را به شکل "From:" و "Subject:" تولید می‌کند.
  • سرآیندهای پیام الگو نباید در چند خط گسترش یابند.
  • سرآیندهای پیام الگو از گسترش پارامترهای $parameter پشتیبانی نمی‌کنند.
  • سرآیندهای پیام الگو فقط باید شامل نویسه‌های ASCII باشند و نباید نویسه‌های تهی (null) در کدگذاری ASCII را شامل شوند.


بخش دوم یک الگوی برگشت شامل متن پیام است. همان‌طور که در مثال بالا نشان داده شده است، متن پیام الگو می‌تواند حاوی $parameters از فایل main.cf باشد. علاوه بر پارامترهایی که در main.cf تعریف شده‌اند، پارامترهای زیر نیز بسته به پسوندی که به انتهای نام آن‌ها اضافه می‌شود، به‌طور ویژه مدیریت می‌شوند:

به مقدار پارامتر delay_warning_time گسترش می‌یابد، که در واحد زمانی مشخص‌شده توسط suffix بیان می‌شود و یکی از مقادیر seconds، minutes، hours، days یا weeks است.
به مقدار پارامتر maximal_queue_lifetime گسترش می‌یابد، که در واحد زمانی مشخص‌شده توسط suffix بیان می‌شود. برای مقادیر مجاز suffix به بخش delay_warning_time در بالا مراجعه کنید.
به مقدار پارامتر mydomain گسترش می‌یابد. با تنظیم "smtputf8_enable = yes"، این ویژگی برچسب‌های ACE (مانند xn--mumble) را با معادل UTF-8 آن‌ها جایگزین می‌کند.

این قابلیت از نسخه Postfix 3.0 در دسترس است.

به مقدار پارامتر myhostname گسترش می‌یابد. با تنظیم "smtputf8_enable = yes"، این ویژگی برچسب‌های ACE (مانند xn--mumble) را با معادل UTF-8 آن‌ها جایگزین می‌کند.

این قابلیت از نسخه Postfix 3.0 در دسترس است.

استفاده و مشخص‌سازی متن پیام الگو مشمول محدودیت‌های زیر است:

  • متن پیام الگو در رونوشت‌های مدیر پست (Postmaster) از اعلان‌های وضعیت تحویل ارسال نمی‌شود.
  • اگر متن پیام الگو شامل نویسه‌های غیر ASCII باشد، پُست‌فیکس الزام می‌کند که سرآیند الگوی Charset: به‌روزرسانی شود. یک زَبَرمجموعه مناسب از US-ASCII را مشخص کنید. تعیین یک زبرمجموعه ضروری است زیرا پُست‌فیکس هنگام ارسال اعلان وضعیت تحویل، متن ASCII را به انتهای الگوی پیام پیوست می‌کند.

bounce(8), اعلان‌های وضعیت تحویل پُست‌فیکس
postconf(5), پارامترهای پیکربندی


مجوز Secure Mailer باید همراه با این نرم‌افزار توزیع شود.


قالب الگوی برگشت (bounce) در پُست‌فیکس در ابتدا توسط Nicolas Riendeau توسعه داده شد.

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