Как да конфигурирате пощенски сървър на Virtual Machine

За да отворите порт 25 на вашата Virtual Machine (VM), отидете в VPS Manager > изберете раздела "Mail Bridge" > натиснете бутона „Add Mail Bridge“.

След като PTR записът е зададен и порт 25 е активиран, можете да настроите предпочитания от вас SMTP сървър. По-долу са дадени примери за Postfix, Exim и Sendmail. Използвайте VM IP, показан във вашия VPS Manager, и се уверете, че вашето име на домейн за PTR записа съвпада с домейна на подателя (напр. mail.example.com).

Инсталиране и конфигуриране на Postfix

# for Debian/Ubuntu

sudo apt update

sudo apt install postfix mailutils -y



# for Almalinux/Rocky/Cloudlinux/EL

# check RPM-based distros to check

# if Postfix is installed

rpm -qa | grep postfix

# if it is not, run the command below to install Postfix

sudo dnf install postfix



Когато Postfix е инсталиран, можете да стартирате услугата и да се уверите, че тя ще се стартира след рестартиране на сървъра:

sudo systemctl start postfix

sudo systemctl enable postfix

След това можете да конфигурирате услугата. Всички необходими опции за услугата се намират в директорията /etc/postfix, а основният конфигурационен файл е /etc/postfix/main.cf

Изпълнете командата sudo nano /etc/postfix/main.cf, за да започнете редактирането на основния конфигурационен файл, и добавете или актуализирайте тези редове:

inet_interfaces = all

# myhostname declares mail server’s hostname

myhostname = mail.example.com

# mydomain declares the domain that actually handles emails

domain = example.com

# mail_spool_directory declares the directory where mailbox files are placed

mail_spool_directory = /var/mail

myorigin = /etc/mailname

mydestination = $myhostname, localhost.$mydomain, localhost

relayhost =

inet_protocols = all

smtp_banner = $myhostname ESMTP



Рестартирайте Postfix, за да приложите промените:

sudo systemctl restart postfix



Тествайте изпращането на поща:

echo "Test message" | mail -s "Test Email" user@recipient.com

Инсталиране и конфигуриране на Exim 4

# for Ubuntu/Debian

sudo apt update

sudo apt install exim4 -y



Командата по-долу показва интерфейс на съветник за конфигуриране на софтуера. Тя позволява на потребителите да решат дали Exim трябва да раздели конфигурацията си в няколко файла или да я съхранява в един файл:

sudo dpkg-reconfigure exim4-config

Ако се използва първата опция, конфигурацията ще се съхранява в поддиректориите /etc/exim4/conf.d. Ако бъде избран един конфигурационен файл, той ще бъде /etc/exim4/exim4.conf

Когато всички конфигурации са готови, изпълнете systemctl restart exim4, за да влязат промените в сила.

Редактирайте /etc/exim4/update-exim4.conf.conf, за да се уверите, че:

# dc_local_interfaces declares your mail service IP (e.g. 203.0.113.10)

dc_local_interfaces='203.0.113.10'

# dc_readhost declares your system mail name

dc_readhost='example.com'

# dc_other_hostnames declares system hostname

dc_other_hostnames='mail.example.com'



Рестартирайте Exim, за да приложите промените:

sudo systemctl restart exim4


Тествайте доставката на имейл, като изпълните командата по-долу:

echo "Mail test" | mail -s "Exim Test" user@recipient.com

Инсталиране и конфигуриране на Sendmail

# for Ubuntu/Debian

sudo apt update

sudo apt install sendmail sendmail-bin -y

# for Almalinux/Cloudlinux/RHEL

yum install sendmail sendmail-cf mailutils


Основният конфигурационен файл на Sendmail е /etc/mail/sendmail.cf. Избягвайте да редактирате този файл директно. Ако е необходимо да редактирате конфигурацията, редактирайте вместо това файла /etc/mail/sendmail.mc, направете резервно копие на оригиналния конфигурационен файл и използвайте една от следните алтернативи, за да генерирате нов конфигурационен файл:

1) Използвайте включения makefile /etc/mail, за да създадете нова конфигурация:

make all -C /etc/mail/

 

Всички генерирани файлове в /etc/mail ще бъдат генерирани отново, ако е необходимо.

2) Като алтернатива можете да използвате макропроцесора m4, за да създадете нов /etc/mail/sendmail.cf. Макропроцесорът m4не е инсталиран по подразбиране. Преди да го използвате за създаване на /etc/mail/sendmail.cf, инсталирайте пакета m4като root:

# for Almalinux/Cloudlinux/RHEL

yum install m4


# for Ubuntu/Debian

apt install m4


Следните конфигурационни файлове на Sendmail се намират в директорията /etc/mail/:

  • access- указва кои системи могат да използват Sendmail за изходяща поща

  • domaintable- съпоставяне на имена на домейни

  • local-host-names - псевдоними за хоста на сървъра

  • mailertable- инструкции, които заместват маршрутизирането за конкретните домейни

  • virtusertable- указва специфична за домейна форма на псевдонимизиране, позволяваща на машината да хоства множество виртуални домейни.


По-долу можете да видите примери за това как могат да бъдат редактирани конфигурационните файлове:

# editing the server host aliases:

echo "mail.example.com" > /etc/mail/local-host-names


# binding to Mail IP by editing /etc/mail/sendmail.mc:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Addr=203.0.113.10')dnl


# rebuilding the config:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


# testing:

echo "Hello from Sendmail" | mail -s "Sendmail test" user@recipient.com

Няколко от гореспоменатите конфигурационни файлове трябва да съхраняват информацията си в файлове на база данни, преди промените да могат да влязат в сила. За да включите всички промени, направени в конфигурационните файлове, изпълнете командата makemap hash /etc/mail/<name> < /etc/mail/<name>като root. Тук <name> представлява името на конфигурацията, която трябва да бъде актуализирана.

Рестартирайте процеса на Sendmail, като изпълните командата systemctl restart sendmail.

Изисква се валиден имейл