آموزش نصب Mail Server در سرور مجازی لینوکس

Mail Server یک برنامه رایانه ای است که ایمیل های کاربران داخلی یعنی کاربران در همان دامنه و فرستنده های از راه دور را دریافت می کد و ایمیل های ارسالی برای تحویل را به مقصد می فرستد. نرم افزار Postfix به عنوان یک Mail Server در سرور مجازی لینوکس به صورت پیش فرض قرار داده شده است که دارای کانفیگ ساده و امنیت بالا می باشد.  

 این نرم افزار به مدیر سیستم اجازه می دهد تا حساب های ایمیل را برای هر دامنه که در سرورمجازی میزبانی شده ایجاد و مدیریت کند. به عنوان مثال، اگر سرور مجازی نام دامنه “techterms.com” را میزبانی کند، Mail Server در سرور مجازی لینوکس می تواند حساب های ایمیل با انتهای “@ techterms.com” را پشتیبانی کند.

Mail Server با استفاده از پروتکل های استاندارد ایمیل را ارسال و دریافت می کنند. به عنوان مثال، پروتکل SMTP پیام ارسال می کند و درخواست ایمیل های خروجی را مدیریت می کند. پروتکل های IMAP و POP3 پیام هایی را دریافت می کنند و برای پردازش ایمیل های دریافتی استفاده می شوند.

این نرم افزار برای چندین سیستم عامل در دسترس است. گزینه های محبوب لینوکس Exim ،Dovecot و Postfix است، که ما در این مقاله نحوه نصب Postfix را به عنوان Mail Server در سرور مجازی لینوکس توزیع اوبونتو 20.04 آموزش داده ایم.

Postfix یک Mail Server در سرور مجازی لینوکس با ویژگی open source است که email را مسیریابی و تحویل می دهد. این نرم افزار تحت مجوز رایگان IBM Public 1.0 است.

 

نصب Mail Server در سرور مجازی لینوکس

در این راهنما، نحوه نصب و کانفیگ Postfix بر روی سرور مجازی اوبونتو 20.04 خواهید خواند. برای دنبال کردن این راهنما، به موارد زیر نیاز دارید:

_ سروری که از اوبونتو 20.04 استفاده می کند. این سرور باید یک کاربر غیر روت با امتیازات sudo و یک فایروال داشته باشد. 

_ یک نام دامنه واجد شرایط روی سرور اوبونتو 20.04 شما ثبت شده باشد.

 

نصب Mail Server در سرور مجازی لینوکس

 

مرحله 1 – نصب Postfix

Postfix  به عنوان Mail Server در سرور مجازی لینوکس در repository پیش فرض اوبونتو موجود است، بنابراین می توانید آن را با APT نصب کنید.

 

برای شروع، حافظه cache داخلی apt را به روز کنید:

 

sudo apt update

 

سپس بسته postfix را با دستور زیر نصب کنید:

 

sudo DEBIAN_PRIORITY=low apt install postfix

 

از اطلاعات زیر برای پر کردن درخواست ها خود استفاده کنید:

نوع عمومی کانفیگ mail: برای این کار، Internet Site را انتخاب کنید زیرا این مورد با نیازهای زیرساختی ما مطابقت دارد.

نام System mail: این دامنه پایه است که برای ساختن یک آدرس ایمیل معتبر هنگامی که فقط نام حساب آدرس داده می شود، استفاده می شود. به عنوان مثال ، بگذارید بگوییم نام میزبان سرور شما mail.example.com است. شما به احتمال زیاد می خواهید نام نامه سیستم را بر روی example.com تنظیم کنید تا با توجه به نام کاربری user1 ، Postfix از آدرس user1@example.com استفاده کند.

گیرنده نامه از راه دور و مدیر پست: این حساب لینوکس است که نامه های ایمیل شده به root @ و postmaster @ ارسال می شود. از حساب اصلی خود برای این کار استفاده کنید. 

مقصد دیگر برای پذیرش نامه : در صورت نیاز به افزودن دامنه های دیگری که این سرور مسئول دریافت آن باشد، موارد موجود را در اینجا اضافه کنید. در غیر این صورت، پیش فرض کافی خواهد بود.

به روزرسانی های همزمان: از آنجا که به احتمال زیاد از سیستم فایل journaled استفاده می کنید، نه را اینجا انتخاب کنید.

شبکه های داخلی: این بخش لیستی از شبکه هایی است که Mail Server در سرور مجازی لینوکس شما برای پخش پیام ها کانفیگ شده است. آن را ویرایش کنید، مطمئن شوید که از نظر محدوده شبکه بسیار محدود کننده باشید.

محدودیت سایز Mailbox: این گزینه می تواند برای محدود کردن اندازه پیام ها استفاده شود.

کاراکتر اضافه آدرس داخلی: این کاراکتری است که می تواند برای جدا کردن قسمت منظم آدرس از یک پسوند (برای ایجاد نام های مستعار دینامیک) استفاده شود. “+” به صورت پیش فرض برای این آموزش کاربرد دارد.

استفاده از پروتکل های اینترنتی: انتخاب کنید نسخه IP مورد استفاده Postfix را محدود کنید یا خیر. برای اهداف این آموزش، همه را انتخاب کنید.

 

توجه: اگر برای تغییر این تنظیمات نیاز به بازگشت دارید، می توانید با تایپ کردن این کار را انجام دهید:

 

sudo dpkg-reconfigure postfix

 

پس از اتمام مراحل نصب، شما آماده انجام چند به روزرسانی در کانفیگ Postfix خود هستید.

 

مرحله 2 – تغییر کانفیگ Postfix

اکنون می توانید برخی از تنظیماتی را که روند نصب بسته از شما خواسته نشده تنظیم کنید. بسیاری از تنظیمات کانفیگ Postfix به عنوان Mail Server در سرور مجازی لینوکس در فایل /etc/postfix/main.cf تعریف شده است.

به جای ویرایش مستقیم این فایل، می توانید از دستور Postfix’s postconf برای تنظیم کانفیگ استفاده کنید.

برای شروع، مکان را برای صندوق پستی کاربر غیر root اوبونتو خود تنظیم کنید. در این راهنما، ما از قالب Maildir استفاده خواهیم کرد، که پیام ها را به فایل های جداگانه می فرستد و سپس براساس عملکرد کاربر بین دایرکتوری ها منتقل می شوند.

متغیر home_mailbox را روی Maildir تنظیم کنید. بعداً، شما یک ساختار دایرکتوری تحت آن نام در فهرست اصلی کاربر خود ایجاد خواهید کرد. home_mailbox را با تایپ کردن دستور زیر کانفیگ کنید:

 

sudo postconf -e 'home_mailbox= Maildir/'

بعد ، محل جدول virtual_alias_maps را تنظیم کنید، که حساب های ایمیل دلخواه را به حساب های سیستم Linux ترسیم می کند. دستور زیر را اجرا کنید ، که مکان جدول را به یک فایل پایگاه داده هش به نام / etc / postfix / virtual ترسیم می کند:

 

sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'

 

اکنون که محل فایل نقشه های مجازی را در فایل main.cf خود تعیین کردید، می توانید خود فایل را ایجاد کرده و map کردن حساب های ایمیل را به حساب های کاربری در سیستم لینوکس خود شروع کنید. فایل را با ویرایشگر متن دلخواه خود ایجاد کنید. در این مثال، از nano استفاده کرده ایم:

 

sudo nano /etc/postfix/virtual

 

آدرس هایی را که می خواهید با Mail Server در سرور مجازی لینوکس برای آنها ایمیل بفرستید و بپذیرید و سپس فضای خالی و کاربر لینوکسی را که می خواهید آن نامه به آن تحویل داده شود را  لیست کنید.

به عنوان مثال، اگر می خواهید email آدرس contact@example.com و admin@example.com را بپذیرید و می خواهید آن ایمیل ها را به کاربر sammy تحویل دهید، می توانید فایل خود را به این صورت تنظیم کنید:

contact@example.com sammy
admin@example.com sammy

 

بعد از اینکه همه آدرس ها را در حساب های سرور مناسب ترسیم کردید، فایل را ذخیره کرده و ببندید. اگر از نانو استفاده کرده اید ، این کار را با انتخاب CTRL + X ، Y و سپس ENTER انجام دهید.

map کردن را با تایپ کردن اعمال کنید:

 

sudo postmap /etc/postfix/virtual

 

فرایند Postfix را دوباره راه اندازی کنید تا مطمئن شوید همه تغییرات شما اعمال شده است:

 

sudo systemctl restart postfix

 

با فرض اینکه شما پیش نیاز راه اندازی اولیه سرور را دنبال می کنید و یک فایروال را با UFW کانفیگ کرده اید. این فایروال به طور پیش فرض ارتباطات خارجی با سرویس های موجود در سرور شما را مسدود می کند مگر اینکه این اتصالات به صراحت مجاز باشد، بنابراین برای مجاز بودن استثنا برای Postfix باید یک قانون فایروال اضافه کنید.


می توانید اتصال به Mail Server در سرور مجازی لینوکس را با تایپ دستور زیر مجاز کنید:

 

sudo ufw allow Postfix

 

حالا Postfix کانفیگ شده و آماده پذیرش اتصالات خارجی است. با این حال، شما هنوز آماده نیستید که آن را با یک سرویس گیرنده mail آزمایش کنید. قبل از نصب سرویس گیرنده و استفاده از آن برای تعامل با mail ارسالی به سرور خود، باید در تنظیمات سرور اوبونتو چند تغییر ایجاد کنید.

 

مرحله 3 – نصب سرویس گیرنده mail و شروع ساختار Maildir

به منظور برقراری ارتباط با تحویل mail، این مرحله روند نصب بسته s-nail را برای شما پیش می برد.

قبل از نصب سرویس گیرنده، مطمئن شوید متغیرهای محیط mail شما به درستی تنظیم شده است. s-nail به دنبال تنظیم درست این متغیرها است.

برای اطمینان از تنظیم شدن متغیر mail صرف نظر از نحوه دسترسی به حساب خود – مثلاً از طریق ssh ،su ، su – یا sudo – باید متغیر را در فایل /etc/bash.bashrc تنظیم کرده و آن را به فایلی در /etc/profile.d تبدیل کنید تا مطمئن شوید به طور پیش فرض برای همه کاربران تنظیم شده است.

برای افزودن متغیر به این فایل ها، دستور زیر تایپ کنید:

 

echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh

 

برای خواندن متغیر در بخش فعلی، فایل /etc/profile.d/mail.sh را به عنوان منبع قرار دهید: 

 

source /etc/profile.d/mail.sh

 

با دستور زیر، سرویس گیرنده ایمیل s-nail را با APT نصب کنید:

 

sudo apt install s-nail

 

قبل از اجرای سرویس گیرنده، چند تنظیم وجود دارد که باید آنها را انجام دهید. فایل /etc/s-nail.rc را در ویرایشگر خود باز کنید:

 

sudo nano /etc/s-nail.rc

 

در پایین فایل، گزینه های زیر را اضافه کنید:

 

. . .
set emptystart
set folder=Maildir
set record=+sent

 

آنچه این دستور ها انجام می دهند در اینجا است:

set emptystart: به مشتری اجازه می دهد حتی با صندوق ورودی خالی برنامه را باز کند. 
set folder = Maildir: فهرست Maildir را بر روی متغیر پوشه داخلی تنظیم می کند.
set record = + sent یک فایل mbox ارسال شده برای ذخیره نامه های ارسالی، در هر پوشه ای که به عنوان متغیر پوشه تنظیم شده ایجاد می کند، که در این مورد Maildir است.

پس از اتمام، آن را ذخیره کرده و ببندید. اکنون آماده هستید تا ساختار Maildir سیستم خود را مقداردهی کنید.

یک راه سریع برای ایجاد ساختار Maildir در فهرست اصلی این است که با دستور s-nail برای خود ایمیل ارسال کنید. از آنجا که فایل ارسالی فقط پس از ایجاد Maildir در دسترس خواهد بود، باید نوشتن برای آن را برای این ایمیل اولیه غیرفعال کنید. این کار را با رد گزینه -Snorecord انجام دهید.

با وارد کردن یک رشته به دستور s-nail، ایمیل را ارسال کنید. دستور را علامت گذاری کنید تا کاربر Mail Server در سرور مجازی لینوکس خود را به عنوان گیرنده علامت گذاری کنید:

 

echo 'init' | s-nail -s 'init' -Snorecord sammy

 

با جستجوی فهرست directory / Maildir می توانید مطمئن شوید که فهرست ایجاد شده است یا خیر:

 

ls -R ~/Maildir

 

خواهید دید که ساختار دایرکتوری ایجاد شده است و یک فایل در دایرکتوری ~ / Maildir / new است. اکنون Postfix را در سرور اوبونتو 20.04 خود کانفیگ کرده اید.

 

 

 

 

 

 

Mail Server یک برنامه رایانه ای است که ایمیل های کاربران داخلی یعنی کاربران در همان دامنه و فرستنده های از راه دور را دریافت می کد و ایمیل های ارسالی برای تحویل را به مقصد می فرستد.
Mail Server با استفاده از پروتکل های استاندارد ایمیل را ارسال و دریافت می کنند. به عنوان مثال، پروتکل SMTP پیام ارسال می کند و درخواست ایمیل های خروجی را مدیریت می کند. این نرم افزار به مدیر سیستم اجازه می دهد تا حساب های ایمیل را برای هر دامنه که در سرورمجازی میزبانی شده ایجاد و مدیریت کند. به عنوان مثال، اگر سرور مجازی نام دامنه “techterms.com” را میزبانی کند.
Postfix یک Mail Server در سرور مجازی لینوکس با ویژگی open source است که email را مسیریابی و تحویل می دهد. این نرم افزار تحت مجوز رایگان IBM Public 1.0 است.