در صورتیکه از postfix به عنوان یک میل سرور استفاده میکنید میتوانید لیست دامنه هایی که قرار هست میزبانی شود را درون یک دیتابیس لوکال (یا hash فایل) به نام virtual_domains.db ذخیره کنید که این فایل در فایل main.cf و متغییر virtual_alias_domains تعریف شده است. بعد از وارد کردن لیست دامنه ها در فایل virtual_domains میبایست برای ایجاد hash فایل از دستور postmap همانند زیر استفاده کنیم.
زمانیکه دستور postmap برای virtual_domain اجرا کردید ممکن است با پیام هشدار زیر مواجه شوید. معنی این پیام این نیست که فایل hash ایجاد نشده یا کار نمیکند. این فقط یک پیام هشدار است و همه چیز کار میکند.
ولی اگر میخواهید این پیام نمایش داده نشود کافیست که #domain را به انتهای هر خط اضافه کنید. البته به جای domain هر چیزی میتوانید اضافه کنید و در postfix استفاده نمیشود اما warning که در بالا دریافت کردید را دیگر نمایش نمیدهد. من ترجیح میدهم لیست دامنه ها را به صورت زیر در فایل virtual_domains بنویسم :
بعد از اینکه فایل virtual_domains را ویرایش و ذخیره کردید، ابتدا از فایل virtual_domains.db در یک مسیر دیگر کپی یا بک آپ بگیرید، سپس آنرا حذف کنید و مجددا دستور postmap را همانند زیر اجرا کنید.
در نهایت سرویس postfix را برای اعمال تغییرات ریست یا ریلود کنید :
کد PHP:
# postmap /etc/postfix/virtual_domains
زمانیکه دستور postmap برای virtual_domain اجرا کردید ممکن است با پیام هشدار زیر مواجه شوید. معنی این پیام این نیست که فایل hash ایجاد نشده یا کار نمیکند. این فقط یک پیام هشدار است و همه چیز کار میکند.
کد PHP:
# postmap /etc/postfix/virtual_domains
postmap: warning: /etc/postfix/virtual_domains, line 1: expected format: key whitespace value
ولی اگر میخواهید این پیام نمایش داده نشود کافیست که #domain را به انتهای هر خط اضافه کنید. البته به جای domain هر چیزی میتوانید اضافه کنید و در postfix استفاده نمیشود اما warning که در بالا دریافت کردید را دیگر نمایش نمیدهد. من ترجیح میدهم لیست دامنه ها را به صورت زیر در فایل virtual_domains بنویسم :
کد PHP:
domain-1.com #domain
domain-2.net #domain
domain-3.org #domain
بعد از اینکه فایل virtual_domains را ویرایش و ذخیره کردید، ابتدا از فایل virtual_domains.db در یک مسیر دیگر کپی یا بک آپ بگیرید، سپس آنرا حذف کنید و مجددا دستور postmap را همانند زیر اجرا کنید.
کد PHP:
# cd /etc/postfix/
# cp virtual_domains.db /root/linuxzone-backup/
# rm -f virtual_domains.db
# postmap /etc/postfix/virtual_domains
در نهایت سرویس postfix را برای اعمال تغییرات ریست یا ریلود کنید :
کد PHP:
# systemctl restart postfix
OR
# systemctl reload postfix