# آموزش راه اندازی میل سرور در لینوکس

- پیوند: https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-%d9%85%db%8c%d9%84-%d8%b3%d8%b1%d9%88%d8%b1-%d8%af%d8%b1-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3/
- منتشرشده: 2021-11-30T08:03:39+00:00
- نویسنده: نگارنوین

به روزرسانی شده در ۲۶ مهر ۱۴۰۵

در این مطلب با شما هستیم با آموزش راه اندازی میل سرور در لینوکس پس تا انتهای این
مطلب ما را حتما همراهی کنید.

![آموزش راه اندازی میل سرور در لینوکس](https://negarnovin.com/wp-content/uploads/
2021/11/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%
A7%D8%B2%DB%8C-%D9%85%DB%8C%D9%84-%D8%B3%D8%B1%D9%88%D8%B1-%D8%AF%D8%B1-%D9%84%DB%
8C%D9%86%D9%88%DA%A9%D8%B3.png)

برای ارسال یا دریافت ایمیل باید یک **میل سرور** داشته باشید. در این مقاله به بررسی**
میل سرور لینوکس** و تشریح عملکرد SMTP ( Simple Mail Transfer Protocol ) و سایر پروتکل
های مرتبط با ایمیل مانند پروتکل POP ( Post Office Protocol ) و IMAP (Internet Message
Access Protocol) و ارتباط بین آنها خواهیم پرداخت.

## سرور SMTP لینوکس

SMTP نحوه ارسال ایمیل از یک هاست به هاست دیگر را تعریف می کند و همچنین مستقل از 
نوع سیستم است. به این معنی که فرستنده و گیرنده می توانند دارای سیستم عامل های متفاوت
باشند. SMTP تنها مستلزم آن است که یک سرور قادر باشد یک متن را در قالب کد ASCII  
و به صورت مستقیم به سرور دیگر ارسال کند، که می توانید این کار را با اتصال به سرور
از طریق port ۲۵** **که پورت استاندارد SMTP است، انجام دهید. امروزه بیشتر توزیع های
لینوکس با دو نوع از متداول ترین سرورهای SMTP پیاده سازی می شوند که عبارتند از Sendmail
و Postfix

Sendmail یک میل سرور معروف و رایگان است، اما طراحی آن کمی پیچیده بوده و از امنیت
پایین تری برخوردار است.

Postfix میل سرور را یک گام به جلو ارتقاء داده، و به هنگام توسعه امنیت بالاتری را
مورد توجه قرار داده است.

## اجزاء میل سرویس

سرویس ایمیل در هر mail server از سه جزء تشکیل شده است:

(Mail user agent (MUA: در این بخش که کاربر قادر به مشاهده و کار کردن با آن است در
واقع امکان خواندن و نوشتن ایمیل را برای کاربر فراهم می کند مانند: Thunderbird و 
Microsoft Outlook.

(Mail transport agent (MTA: این بخش مسئولیت انتقال ایمیل از یک سایت به سایت دیگر
را بر عهده دارد مانند: Sendmail و Postfix.

(Mail delivery agent (MDA: این بخش نیز وظیفه توزیع پیام های دریافتی را به میل باکس
های postfix-maildrop و Procmail  در دستگاه های لوکال بر عهده دارد.

## آموزش نصب و کانفیگ میل سرور

در این مقاله، به آموزش **میل سرور ****Postfix** می پردازیم که امروزه در بین  system
adminها بسیار محبوب و رایج است. Postfix میل سرور پیش فرض در بیشتر توزیع های مدرن
لینوکس است.

ابتدا نصب بودن آن را بر روی سیستم خود، و با دستور زیر بررسی کنید:

    ```shell
    rpm -qa | grep postfix $
    ```

در صورتی که **میل سرور ****Postfix** بر روی سیستم شما نصب نباشد، می توانید از دستور
زیر برای نصب آن بر روی توزیع های مبتنی بر Redhat استفاده کنید:

    ```sql
    dnf -y install postfix $
    ```

سپس برای راه اندازی سرویس postfix و همچنین فعال کردن آن در هنگام راه اندازی سیستم،
دستور زیر را وارد کنید:

    ```shell
     systemctl start postfix $

     systemctl enable postfix $
    ```

در توزیع های مبتنی بر Debian مانند اوبونتو نیز می توانید با کمک دستور زیر، عملیات
نصب را انجام دهید:

    ```sql
     apt-get -y install postfix $
    ```

در ادامه و در هنگام نصب، بایستی نوع تنظیمات **میل سرور ****Postfix** را انتخاب کنید.
از میان چهار گزینه No configuration ،Internet site، Internet with smarthost ،Satellite
system و Local only، گزینه No configuration را انتخاب کنید.

## تنظیمات میل سرور لینوکس

پس از نصب **میل سرور ****Postfix**، بایستی آن را کانفیگ کنید. می توانید بیشتر فایل
های کانفیگ را در مسیر /etc/postfix/ پیدا کنید. همچنین می توانید تنظیمات اصلی مربوط
به کانفیگ **میل سرور ****Postfix** را در فایل /etc/postfix/main.cf پیدا کنید. این
فایل شامل گزینه های زیادی از جمله موارد زیر است:

### **myhostname**

می توانید از این گزینه برای تعیین نام هاست mail server استفاده کنید. این نام هاست
اینترنتی است که Postfix ایمیل ها را بر روی آن دریافت می کند. hostname می تواند به
صورت mail.example.com یا smtp.example.com باشد.

    ```ini
    myhostname = mail.example.com
    ```

#### **mydomain**

** **این گزینه دامنه متعلق به ایمیل است که برای سرویس دهی از آن استفاده خواهد شد،
مانند example.com

و نحوه تنظیم و کد دستوری آن نیز بدین صورت است:

    ```ini
    mydomain = example.com
    ```

#### **myorigin**

تمامی ایمیل های این mail server، با تنظیم این گزینه ارسال می شوند. می توانید تنظیمات
آن را مانند مثال زیر به صورت mydomain$ انجام دهید.

    ```ini
    myorigin = $mydomain
    ```

می توانید از هر مقدار دلخواه دیگری نیز برای این گزینه استفاده کنید، فقط باید از 
علامت $ قبل از عبارت mydomain$ استفاده کنید.

#### **mydestination**

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

    ```ini
    mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.$mydomain, www.$mydomain
    ```

#### **mail_spool_directory**

دو مدل تحویل ، توسط **میل سرور ****Postfix** وجود دارد:

 * مستقیماً به صندوق پستی کاربر
 * به یک دایرکتوری spool مرکزی، که در این حالت ایمیل ها در مسیر /var/spool/mail 
   و با یک فایل برای هر کاربر قرار می گیرد.

    ```ini
    mail_spool_directory = /var/spool/mail
    ```

#### **mynetworks**

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

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

    ```nginx
    mynetworks = ۱۲۷.۰.۰.۰/۸, ۱۹۲.۱۶۸.۱.۰/۲۴
    ```

#### **smtpd_banner**

در این متغیر می توانید پیامی را که سرور پس از اتصال موفق و ارسال موفقیت آمیز ایمیل
به مشتری ، نمایش می دهد، تنظیم کنید. بهتر است ابن بنر را به صورتی تغییر دهید که 
هیچ سرنخی از سرور مورد استفاده شما نشان ندهد.

#### **Intel_protocol**

این گزینه نیز نسخه پروتکل IP مورد استفاده برای اتصال ها، به سرور را مشخص می کند.

    ```ini
    inet_protocols = ipv4
    ```

اگر فایل های تنظیم **میل سرور ****Postfix** را تغییر دهید، باید سرویس آن را مجدداً
راه اندازی کنید:

    ```shell
     systemctl reload postfix $
    ```

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

    ```sql
     postfix check $
    ```

این ابزار به شما کمک می کند محل دقیق کد خطا را پیدا کنید و آن را برطرف کنید.

### **بررسی ****mail queue**

گاهی اوقات صف ایمیل، از کلی پیغام پر می شود. این امر به دلایل زیادی ممکن است رخ 
دهد، از جمله خرابی شبکه یا هر دلیلی که می تواند ارسال ایمیل ها را به تاخیر بیندازد.
برای بررسی mail queue در **میل سرور لینوکس** خود از دستور زیر استفاده کنید:

    ```shell
     mailq $
    ```

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

    ```sql
     postfix flush $
    ```

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

## تست میل سرور لینوکس

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

    ```shell
     echo "This is message body" | mailx -s "This is Subject" -r "likegeeks<likegeeks@example.com>" -a /path/to/attachment someone@example.com $
    ```

سپس سعی کنید ایمیلی را از یک سایت ریموت دریافت کنید. در صورت بروز هرگونه مشکل، log
ها را بررسی کنید. فایل های log در توزیع های مبتنی بر Redhat در مسیر /var/log/ maillog
و در توزیع های مبتنی بر Debian در مسیر /var/log/mail.log یا در حالت کلی در مسیری
که در تنظیمات rsyslogd تعریف شده است، قرار دارد.

توصیه می شود برای فهم دقیق تر درباره log ها و نحوه کانفیگ rsyslogd،  مرجع Linux 
Syslog Server مطالعه کنید. اگر باز هم مشکل پابرجا بود، تنظیمات DNS و سوابق MX خود
را با استفاده از دستورات شبکه Linux بررسی کنید.

### ایمن سازی mailbox ها در برابر اسپم توسط SpamAssassin

یکی از راه های مبارزه با اسپم ها اسکن mail box توسط برخی از ابزارها و جستجوی الگوهای
خاص مرتبط با اسپم است. یکی از بهترین راه حل ها برای این منظور نیز ابزار SpamAssassin
است که یک ابزار متن باز است.

می توانید آن را به این صورت نصب کنید:

    ```sql
     dnf -y install spamassassin $
    ```

سپس سرویس را اجرا کرده و آن را بعد از هر راه اندازی مجدد فعال کنید:

    ```shell
     systemctl start spamassassin $ 

     systemctl enable spamassassin $ 
    ```

پس از نصب، می توانید فایل تنظیمات و کانفیگ آن را به صورت زیر بررسی کنید:

    ```hljs
    /etc/mail/spamassassin/local.cf
    ```

#### کاربرد ابزار SpamAssassin

ابزار SpamAssassin بر اساس نتیجه امتیازات مختلف اسکریپت ها، اسپم بودن یا نبودن یک
ایمیل را مشخص می کند. اگر یک پیام امتیاز بالاتری داشته باشد، بدین معناست که احتمال
اسپم بودن آن بیشتر است. در فایل تنظیمات، پارامتر required_hits ۵ نشان می دهد که 
در SpamAssassin، اگر نمره یا امتیاز یک ایمیل پنج یا بالاتر باشد، آن ایمیل به عنوان
اسپم تلقی می شود. گزینه report_safe نیز می تواند دارای یکی از مقادیر ۰، ۱ یا ۲ باشد.
در صورت داشتن مقدار ۰ به این معنی است که ایمیل مشخص شده به عنوان اسپم، به همان صورت
ارسال شده و تنها هدر آن برای نمایش به صورت اسپم، تغییر کرده است. در صورت داشتن مقادیر
۱ یا ۲، SpamAssassin یک پیام جدید ایجاد می کند و آن پیام را به گیرنده می فرستد. 
مقدار ۱ به این معنی است که پیام spam با محتوای /rfc822 کدگذاری می شود، و چنانچه 
مقدار ۲ باشد، بدان معناست که پیام به صورت text/plain کدگذاری شده است.

حالت text/plain مطمئن تر است، چرا که برخی از ابزار های مدیریت و ارسال و دریافت ایمیل،
پیام RFC822 را اجرا می کنند که می تواند کامپیوتر سرویس گیرنده را آلوده کند. اکنون
باید آن را در Postfix ادغام کنیم. ساده ترین راه برای انجام این کار احتمالاً استفاده
از procmail است.

حال باید یک فایل با آن نام ایجاد کنید:

#### تنظیمات SpamAssassin در سرور Postfix

    ```hljs
    /etc/procmailrc
    ```

سپس محتوای زیر را بدان اضافه کنید:

    ```javascript
    :۰ hbfw
    | /usr/bin/spamc
    ```

سپس با کد زیر فایل کانفیگ Postfix را که در مسیر /etc/postfix/main.cf قرار دارد را
ویرایش و تغییر دهید:

    ```hljs
    mailbox_command
    ```

بدین صورت:

    ```ini
    mailbox_command = /usr/bin/procmail
    ```

و در پایان، سرویس های Postfix و SpamAssassin را مجدداً راه اندازی کنید:

    ```shell
     systemctl restart postfix $

    systemctl restart spamassassin $
    ```

 

البته SpamAssassin گاهی اوقات تشخص نمی دهد که پیام هایی که inbox را پر کرده است،
همان اسپم ها هستند. خوشبختانه می توانید پیام ها را قبل از ورود به سرور Postfix با
استفاده از Realtime Blackhole Lists (RBL) فیلتر کنید. این امر باعث کاهش بار mail
server شما و تمیز ماندن آن خواهد شد.

فایل کانفیگ **میل ****سرور ****Postfix** را که در مسیر /etc/postfix/main.cf قرار
دارد، باز کنید و گزینه smtpd_recipient_restriction را تغییر داده و گزینه های زیر
را به این ترتیب بدان اضافه کنید:

    ```yaml
    strict_rfc821_envelopes = yes

    relay_domains_reject_code = ۵۵۴

    unknown_address_reject_code = ۵۵۴

    unknown_client_reject_code = ۵۵۴

    unknown_hostname_reject_code = ۵۵۴

    unknown_local_recipient_reject_code = ۵۵۴

    unknown_relay_recipient_reject_code = ۵۵۴

    unverified_recipient_reject_code = ۵۵۴

    =smtpd_recipient_restrictions 
    ,reject_invalid_hostname 
    ,reject_unknown_recipient_domain 
    ,reject_unauth_pipelining 
    ,permit_mynetworks 
    ,permit_sasl_authenticated 
    ,reject_unauth_destination 
    ,reject_rbl_client dsn.rfc-ignorant.org 
    ,reject_rbl_client dul.dnsbl.sorbs.net 
    ,reject_rbl_client list.dsbl.org 
    ,reject_rbl_client sbl-xbl.spamhaus.org 
    ,reject_rbl_client bl.spamcop.net 
    ,reject_rbl_client dnsbl.sorbs.net 
    permit 
    ```

سپس سرور postfix را مجدداً راه اندازی کنید:

    ```shell
     systemctl restart postfix $
    ```

آموزش راه اندازی میل سرور در لینوکس

RBL های فوق از انواع متداول هستند. می توانید لیست های بیشتری را در اینترنت پیدا 
کرده و آنها را نیز امتحان کنید.

### تامین امنیت اتصال SMTP

بهتر است ترافیک SMTP خود را با کمک TLS منتقل کنید، تا از آنها در مقابل حملات Man
In The Middle (MITM) محافظت کنید. ابتدا باید گواهی و کلید مربوطه را با استفاده از
دستور openssl ایجاد کنید:

    ```shell
     openssl genrsa -des3 -out mail.key $

     openssl req -new -key mail.key -out mail.csr $

     cp mail.key mail.key.original $

     openssl rsa -in mail.key.original -out mail_secure.key $

     openssl x509 -req -days 365 -in mail_secure.csr -signkey mail_secure.key -out mail_secure.crt $

     /cp mail_secure.crt /etc/postfix $

     /cp mail_secure.key /etc/postfix $
    ```

سپس گزینه زیر را به فایل کانفیگ Postfix در مسیر /etc/postfix/main.cf اضافه کنید:

    ```ini
    smtpd_use_tls = yes

    smtpd_tls_cert_file = /etc/postfix/mail_secure.crt

    smtpd_tls_key_file = /etc/postfix/mail_secure.key

    smtp_tls_security_level = may
    ```

و در پایان، سرویس postfix را مجدداً راه اندازی کنید:

    ```shell
     systemctl restart postfix $
    ```

آموزش راه اندازی میل سرور در لینوکس

اکنون باید به هنگام اتصال به سرور، TLS را بر روی کلاینت خود انتخاب کنید. به دلیل
تایید نشدن گواهینامه، اولین بار پس از تغییر تنظیمات، یک ایمیل هشدار برای شما ارسال
خواهد شد.

### **استفاده از گواهی های ****Let’s Encrypt**

Let’s Encrypt یک ارائه دهنده گواهی SSL رایگان است که به شما امکان می دهد ترافیک 
خود را رمزگذاری کنید. به جای استفاده از گواهینامه های خود امضا شده (self-signed)
که سبب عدم اعتماد کاربران می شود، می توانید از این راه حل خوب استفاده کنید. ابتدا
letsencrypt را نصب کنید:

    ```sql
     yum install letsencrypt $
    ```

[**سرور مجازی فنلاند**](https://negarnovin.com/%D8%B3%D8%B1%D9%88%D8%B1-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C-%D9%81%D9%86%D9%84%D8%A7%D9%86%D8%AF/)

در صورتی که از توزیع های مبتنی بر Debian استفاده می کنید، می توانید از دستور زیر
استفاده کنید:

    ```sql
     apt-get install letsencrypt $
    ```

 

سپس letsencrypt را به این صورت اجرا کنید:

    ```sql
     letsencrypt certonly --standalone -d yourdomain.com $
    ```

شما باید دامنه واقعی خود را جایگزین yourdomain.com کنید. پس از تکمیل قسمت های مربوطه
می بایست اطلاعات مربوط به نام ایمیل ، دامنه mail server و لایسنس را به درستی وارد
کنید.

گواهینامه ها در مسیر زیر قرار خواهند گرفت:

    ```hljs
    /etc/letsencrypt/live/yourdomain.com/
    ```

آخرین کاری که باید انجام دهید، تنظیم postfix برای استفاده از آن گواهی ها است، که
می توانید از دستورات زیر برای این منظور استفاده کنید:

    ```nginx
    sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/yourdomain.com/fullchain.pem'

    sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/yourdomain.com/privkey.pem'
    ```

جایگزینی yourdomain.com با دامنه واقعی خود را فراموش نکنید. و در نهایت، سرور postfix
خود را مجدداً راه اندازی کنید:

    ```shell
     systemctl restart postfix $
    ```

 

### اصول پروتکل های POP3 و IMAP

تا کنون دریافتیم که سرور SMTP چگونه ارسال و دریافت ایمیل را بدون مشکل انجام می دهد،
اما شرایط زیر را همیشه در نظر بگیرید:

 * کاربران برای مشاهده آفلاین اطلاعات ، به یک نسخه کپی ایمیل به صورت لوکال احتیاج
   دارند.
 * فرمت فایل mbox پشتیبانی نمی شود. فرمت MBOX فرمتی است که توسط بسیاری از ابزار 
   ها مانند mailx و Mutt استفاده می شود.
 * کاربران نمی توانند به یک شبکه سریع متصل باشند، تا یک کپی لوکال برای خواندن آفلاین
   را در اختیار بگیرند.
 * برخی از mail server ها به دلایل امنیتی، اجازه دسترسی به مسیر های spool اشتراکی
   ایمیل را نمی دهند.

برای مدیریت این موارد، باید از پروتکل های دسترسی به ایمیل استفاده کنید. دو مورد 
از رایج ترین و محبوب ترین پروتکل های دسترسی به ایمیل، Post Office Protocol (POP)
و Internet Message Access Protocol (IMAP) است.

ایده زیربنایی POP بسیار ساده است، یک **میل سرور لینوکس** همیشه آنلاین است و برای
همه کاربران ایمیل ها را دریافت و ذخیره می کند. همه ایمیل های دریافت شده در سرور 
در نوبت قرار می گیرند تا زمانی که کاربر آنها را دریافت کند. هنگامی که یک کاربر می
خواهد ایمیلی ارسال کند، سرویس ایمیل به طور معمول آن را از سرور مرکزی لینوکس توسط
SMTP ارسال می کند.

توجه داشته باشید که سرور SMTP و سرور POP می توانند بدون هیچ مشکلی بر روی یک سیستم
قرار داشته باشند. امروزه بیشتر سرورها به همین صورت عمل می کنند. در گذشته ویژگی هایی
مانند نگه داشتن یک کپی از ایمیل کاربر در سرور وجود نداشت، که این موضوع منجر به توسعه
IMAP شد.

با استفاده از IMAP، **میل سرور لینوکس** شما از سه حالت دسترسی، پشتیبانی خواهد کرد:

 * 
   #### Online mode:
   

حالت آنلاین که شبیه به داشتن دسترسی مستقیم به فایل سیستم **میل سرور لینوکس** است.

 * 
   #### Offline mode:
   

حالت آفلاین که شبیه به عملکرد POP است، با این تفاوت که در آن کاربر به جزء زمانی 
که قصد دریافت یک ایمیل را دارد، به شبکه متصل نیست. در این حالت، سرور به طور معمول
هیچ نسخه ای از ایمیل را در خود نگه نمی دارد.

 * 
   #### Disconnected mode:
   

حالت قطع که به کاربران اجازه می دهد نسخه cache شده از ایمیل های خود را داشته باشند،
و سرور نیز یک کپی از ایمیل ها را حفظ می کند.

آموزش راه اندازی میل سرور در لینوکس

چندین حالت پیاده سازی مختلف برای IMAP و POP وجود دارد که محبوب ترین آنها سرور Dovecot
است که هر دو پروتکل را ارائه می دهد. پروتکل های POP3، POP3S، IMAP و IMAPS به ترتیب
روی پورت های ۱۱۰، ۹۹۵، ۱۴۳ و ۹۹۳ کار می** **کنند.

### نصب Dovecot

بیشتر توزیع های لینوکس به صورت پیش فرض با نصب Dovecot ارائه می شوند. با این وجود
می توانید Dovecot را در توزیع های مبتنی بر Redhat  به صورت زیر نصب کنید:

    ```sql
     dnf -y install dovecot $
    ```

در توزیع های مبتنی بر Debian نیز قابلیت های IMAP و POP3 در دو بسته جداگانه ارائه
می شوند، که می توانید آنها را به صورت زیر نصب کنید:

    ```sql
     apt-get -y install dovecot-imapd dovecot-pop3d $
    ```

از شما خواسته می شود برای استفاده از IMAP و POP3 از طریق SSL/TLS، گواهینامه های 
خود امضاء شده (self-signed certificates) ایجاد کنید. گزینه “بله” را انتخاب کنید 
و در صورت درخواست نام هاست را وارد کنید.

سپس می توانید سرویس را اجرا کرده و پس از هر راه اندازی آن را به صورت زیر فعال کنید:

    ```shell
     systemctl start dovecot $

     systemctl enable dovecot $
    ```

#### کانفیگ Dovecot

فایل اصلی کانفیگ Dovecot در مسیر زیر قرار دارد:

    ```hljs
    /etc/dovecot/dovecot.conf
    ```

در برخی از توزیع های لینوکس، فایل کانفیگ و مسیر آن به صورت زیر است:

    ```hljs
    /etc/dovecot/conf.d/
    ```

و از include directive برای قرار دادن دستورالعمل ها در فایل استفاده کنید. شما نیز
از لیست پارامتر های زیر برای کانفیگ Dovecot استفاده کنید:

protocols**: **پروتکل هایی که قصد پشتیبانی آن را دارید.

    ```ini
    protocols = imap pop3 lmtp
    ```

lmtp به معنی پروتکل انتقال ایمیل لوکال یا protocol local mail transfer است.

listen**: **آدرس های  IPکه به آنها گوش می دهند.

    ```ini
    listen = *, ::
    ```

علامت **\*** به معنی همه رابط های IPv4 و علامت **::** به معنی همه رابط های IPv6 
است.

userdb**: **پایگاه داده کاربران برای احراز هویت آنها.

    ```nginx
    userdb {

    driver = pam

    }
    ```

passdb: پایگاه داده رمز عبور برای احراز هویت کاربران.

    ```nginx
    passdb {

    driver = passwd

    }
    ```

mail**_**location: این ورودی در فایل /etc/dovecot/conf.d/۱۰-mail.conf قرار دارد.

    ```javascript
    mail_location = mbox:~/mail:INBOX=/var/mail/%u
    ```

#### امنیت Dovecot

Dovecot همراه با گواهینامه های SSL عمومی و فایل های key مربوط به آن ارائه می شود.
به این فایل نگاه کنید:

    ```hljs
    /etc/dovecot/conf.d/10-ssl.conf
    ```

    ```ini
    ssl_cert = </etc/pki/dovecot/certs/dovecot.pem

    ssl_key = </etc/pki/dovecot/private/dovecot.pem
    ```

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

یا اگر از گواهی های Let’s Encrypt استفاده می کنید، می توانید مسیر آنها را وارد کنید:

    ```ini
    ssl_cert = </etc/letsencrypt/live/yourdomain.com/fullchain.pem

    ssl_key = </etc/letsencrypt/live/yourdomain.com/privkey.pem
    ```

فراموش نکنید که با ایجاد قوانین iptables برای پورت های ۱۱۰، ۹۹۵، ۱۴۳، ۹۹۳ و ۲۵، 
پورت های سرور dovecot را در فایروال iptables باز کنید. سپس این قوانین را ذخیره کنید.

یا اگر از firewall استفاده می کنید، می توانید به صورت زیر عمل کنید:

    ```sql
     firewall-cmd --permanent --add-port=110/tcp --add-port=995/tcp $

     firewall-cmd --permanent --add-port=143/tcp --add-port=993/tcp $

     firewall-cmd --reload $
    ```

و مجدداً برای عیب یابی، فایل های log درمسیر های /var/log/messages، /var/log/maillog
و /var/log/mail.log را بررسی کنید.

**میل ****سرور لینوکس** و **میل سرور** **Postfix** یکی از آسان ترین سرورها از لحاظ
کاربرد هستند.

تبریک می گوییم آموزش راه اندازی میل سرور در لینوکس به پایان رسید با اموزش های بعدی
ما را همراهی کنید.

### 📌 خلاصه

در این مطلب با شما هستیم با آموزش راه اندازی میل سرور در لینوکس پس تا انتهای این
مطلب ما را حتما همراهی کنید

## 🔗 مطالب مرتبط

 * [آموزش تنظیمات هاست لینوکس](https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%aa%d9%86%d8%b8%db%8c%d9%85%d8%a7%d8%aa-%d9%87%d8%a7%d8%b3%d8%aa-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3/)
 * [آموزش اتصال به سرور لینوکس](https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a7%d8%aa%d8%b5%d8%a7%d9%84-%d8%a8%d9%87-%d8%b3%d8%b1%d9%88%d8%b1-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3/)
 * [آموزش نصب و راه اندازی Active Directory](https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%86%d8%b5%d8%a8-%d9%88-%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-active-directory/)
