Инсталиране на собствен емейл сървър на Ubuntu с Postfix

10.03.2021 435 0

Ако искате да имате собствен имейл сървър на вашия Ubuntu клауд или нает сървър, следвайте тези подробни, стъпка по стъпка, инструкции. 

Защо ви трябва собствен имейл сървър? 

Добре е да имате собствен имейл сървър, защото ви дава свободно да изберете броя потребители, пощенски кутии, размер на кутиите и прикачените файлове, контрол, поверителност и настройки. 

В зависимост от начина, по който се организирате, може да е много по-евтино и да бъдете далеч по-малко зависими от външни компании. 

Какво е Postfix?

Postfix е софтуер, mail transfer agent (MTA) с отворен код (IBM Public License или Eclipse Public License), който може да изтеглите и използвате на различни операционни системи като Linux (Ubuntu, Debian, CentOS, и др.), BSD (включително FreeBSD), macOS, Solaris, HP-UX и AIX. 

Предоставя SMTP сървър и SMTP клиент, така може директно да получава и изпраща имейли, да има спам защита и може да работи с друг софтуер като Amavisd-new, Dovecot, Mailman, и други. 

Сървърът работи във фонов режим и има различни компоненти като планировчик, локален сървър за доставка, записване на адреси и още. Клиентската част се ползва от потребителите за изпращане на имейли. Може да намерите Postfix като MTA по подразбиране в Ubuntu, CentOS, RedHat, Fedora, NetBSD, macOS, и други. 

Според E-Soft Inc през август 2019 е имал 34% пазарен дял (публично достъпни имейл сървъри в интернет.). Само малко зад най-популярния Exim. 

Инсталиране на Postfix SMTP в Ubuntu

Тази статия ще ви покаже как да инсталирате SMTP (MTA) и когато сте готови, ще можете да изпращате и получавате имейли, използвайки вашия Ubuntu сървър с вашето домейн име. 

Преди да започнем ви препоръчваме да използвате версиите с дългосрочна поддърка (Long Term Support LTS) на Ubuntu, като Ubuntu 20.04.2 LTS (край на поддръжката през април 2025) или Ubuntu 18.04.5 LTS (край на поддръжката през април 2023 и край на живота през април 2028). 

Ако искате да използвате друга версия на Ubuntu, това ще ви принуди да актуализирате често и този процес може да увреди функционалността на имейл сървъра.

Също ще трябва да закупите домейн от онлайн домейн регистър. 

На какво да обърнете внимание по отношение на хостинг доставчика

Когато избирате хостинг доставчик, трябва да обърнете внимание на следното:

  • Изберете доставчик, който не блокира порт 25. Или, ако го блокира по подразбиране, да има начин да бъде отворен след поискване. 
  • IP адресът, който предоставя доставчикът, да не е в черните списъци на имейл сървърите. Ако е в тези списъци, вашите имейли може директно да отиват към спам папката и цялата идея да имате собствен имейл сървър се обезсмисля.
  • Да може да редактирате DNS записите като PTR записите за подобрена доставка.
  • Вижте дали няма часови, седмични или месечни лимити за изпращане на имейли, или ако има такъв, поне да ви устройстват.

Преди да инсталирате Postfix

Установяване на хост име за сървъра.

Хост името може да е една дума като Computer1234 или цялостен домайн FQDN като mail.yourdomain.com. 

За по-добра илюстрация ще използваме домейн името FQDN, като си представяме, че вие вече сте закупили домейн име от домейн регистър. 

mail.yourdomain.com 

Mail е името на възела (node). 

yourdomain.com е домейн името, което сте закупили. 

FQDN ще се вижда в smtpd banner. Ще имате нужда от този банер, за да не ви бъдат отхвърлени имейлите от MTA, заради липсващ банер. 

В Терминала:

hostname -f

Ако няма FQDN все още, ползвайте: 

sudo hostnamectl set-hostname mail.yourdomain.com

Сложете вашия FQDN на мястото на mail.yourdomain.com в предишната команда. 

Управление на DNS записи

Ако използвате DNS сървър и вие администрирате главната зона за домейна, управлявайте от там. Ако ползвате Managed DNS доставчик, ползвайте контролния му панел и ако разчитате на домейн регистъра, от там. 

Добавете A запис или AAAA запис, или и двата

Трябва да добавите А запис, който ще свързва FQDN и IP адреса на сървъра. 

Използвайте следните параметри:

Име на хост: mail.yourdomain.com

Сочи към: IPv4 адрес на сървъра.

Ако сървъра ви ползва IPv6, трябва да добавите AAAA запис. 

Име на хост: mail.yourdomain.com

Сочи към: IPv6 адрес на сървъра.  

Добавате MX запис 

MX записите служат, за да покажат кой е отговорният сървър или сървъри за получаване на прииждащи имейли. Трябва да ги насочите към mail.yourdomain.com. Забележка: MX записите трябва да сочат към име, не към IP адрес. 

Добавете PTR запис

PTR записите служат за обратни DNS проверки. Чуждите сървъри ще се опитат да проверят дали наистина IP адреса на изпращащия имейл сървър, наистина принадлежи на домейн името. 

Изглежда като A запис на обратно, където вие слагате първо IP адрес (може да сложите IPv4 и друг с IPv6) и след това да го насочите към хост името (mail.yourdomain.com). 

Postfix – инсталационен процес

На вашия Ubuntu сървър трябва да изпълните две команди: 

sudo apt-get update

Тази команда ще се нуждае от sudo паролата ви и ще ви покаже възможните ъпдейти и последните версии. 

Втората команда е:

sudo apt-get install postfix -y

Тази команда ще инсталира пакета postfix и ще потвърди с -y. 

Изчакайте малко и ще видите един въпрос, с който ще започне конфигурирането на вашия Postfix.

No configuration – без конфигурация, само инсталация.

Internet Site – Задайте на Postfix да изпраща и получава имейли. 

Internet with smarthost – Задайте Postfix да приема имейли, но че ще ползвате друг софтуер за изпращане на имейли. 

Satellite system – Всички имейли към друг хост – smarthost за доставка.

Local only – За вариант, без свързаност, когато само се доставят имейли от локалния хост. 

От този списък изберете варианта: “Internet Site”. 

Следващата стъпка е да добавите FQDN. Сега трябва да го добавите кото yourdomain.com, не като mail.yourdomain.com. 

Изчакайте да приключи инсталацията. По-късно може да редактирате конфигурацията от  /etc/postfix/main.cf. 

Проверете дали инсталацията е била успешна с тази команда: 

postconf mail_version

Отговора трябва да е 3.3.0, ако ползвате Ubuntu 18.04 или 3.4.10, ако сте с Ubuntu 20.04.

Нека да ползваме SS utility и да видим дали Postfix ползва порт 25 (TCP). 

sudo ss -lnpt | grep master

Ubuntu и защитната стена 

В Ubuntu нямате защитна стена по подразбиране, но е препоръчително да използвате. Ако вече сте включили UFW защитна стена, ще трябва да позволите порт 25. 

sudo ufw allow 25/tcp

Сега ще използваме nmap, за да сканирате отворените портове на сървъра от друг компютър.

За дистрибуции базирани на Ubuntu, инсталирайте го с: 

sudo apt install nmap

След това ползвайте командата:

sudo nmap youripaddress

сменете youripaddress с реален IP адрес. 

Отговора трябва да ви покаже, че порт 25/tcp е отворен (smtp service). 

Може да проверите дали случайно не е блокиран порта и от самия имейл сървър с тази команда: 

telnet gmail-smtp-in.l.google.com 25

Командата ще накара сървъра да се свърже с Gmail SMTP, използвайки порт 25. Ако получите отговор “Connected” (свързан), значи е отворен. Ако ви покаже “Trying…” (опитва се), означава, че е блокиран. Ако не е отворен, говорете с вашия хостинг доставчик и поискайте да отблокира порта.

Може да смените порта, но това може да не свърши работа, защото от другата страна друг  SMTP ще очаква само порт 25 за имейл обмяна. 

Изпробване на вече създадения имейл сървър

Вече можете да използвате имейл сървъра за изпращане и получаване на имейли. 

Може да създадем тестови профил наречен sender1 и имейл адресът за него ще е: sender1@yourdomain.com

Може да го направим като добавим акаунт в Ubuntu:

adduser sender1

Името на потребителя, който ще използваме, е sender1, но може да го замените с друг по желание.

Добре, сега нека да използваме sendmail binary (/usr/sbin/sendmail), за да изпратим имейл до друг ваш акаунт на Gmail адрес: 

echo „Тест за функционалност“ | sendmail: yourgmailaccount@gmail.com

“Тест за функционалност” е текстът на съобщението. 

Може да се опитате да отговорите от вашия Gmail акаунт. 

Потърсете за отговор в /var/spool/mail/sender1 или /var/mail/sender1, или ползвайте командата: 

postconf mail_spool_directory

Ако имате проблем

Ако вече сте отворили порт 25 и сте опитали да изпратите имейл безуспешно може да видите лог файла. 

Използвайте командата:

sudo nano /var/log/mail.log

Вижте каква грешка показва лога. Чест проблем е “this message does not meet IPv6…”, което означава, че вашите AAAA (IPv6) и PTR записи за домейна не са конфигурирани добре или ги няма. Насочете ги правилно.

Изпратете имейли с друг софтуер

Може да инсталирате друг софтуер за изпращане и получаване на имейли. 

В този случай ще пробваме Mailutils. Инсталирайте го с: 

sudo apt-get install mailutils

След това ще може да го използвате за изпращане на имейли. Пробвайте следната команда:

mail yourgmailaccount@gmail.com

Може да изпратите имейл до друг аканут, само сменете: yourgmailaccount@gmail.com

user@mail:~$ mail yourgmailaccount@gmail.com

Cc: 

Subject: Тест за функционалност

Тук е текстът на втория тест, който правим. 

Когато сте готови с имейла, натиснете Ctrl+D и имейла ще се изпрати. 

За да четете пристигащите имейли, използвайте командата: 

mail

По-неудобен софтуер за използване е, но за теста ни върши работа. 

Увеличаване на размера на прикачените файлове

Размера по подразбиране е 10MB. Може да го видите с: 

postconf | grep message_size_limit

и ще получите отговор: message_size_limit = 10240000

Може да промените размера с една лесна команда: 

sudo postconf -e message_size_limit=30720000

Така ще увеличите размера 3 пъти спрямо преди. Може да промените размера с по-голям или по-малък. 

Когато увеличавате този лимит, внимавайте да не надвиши размера на пощенската кутия (mailbox_size_limit). Нейната стойност по подразбиране е 51200000 bytes (Postfix). 

Настройка на името на хост за Postfix

Ако не го промените, Postfix ще ползва име на хост по подразбиране от Ubuntu. Нека да ползваме Nano текстови редактор и да го редактираме с командата: 

sudo nano /etc/postfix/main.cf

В конфигурационния файл на Postfix, намерете myhostname и сложете mail.yourdomain.com 

Използвайте вашия домейн на мястото на of mail.yourdomain.com.

myhostname = mail.yourdomain.com

Запишете файла с Ctrl+0 и натиснете ENTER за конфигурация. Накрая рестартирайте Postfix с: 

sudo systemctl restart postfix

Задайте само IPv4

Не всички хостинг доставчици ще ви предоставят и двата вида адреси – IPv4 и IPv6. По подразбиране Postfix е настроен да използва и двата вида. Вижте конфигурацията на интернет протоколите: 

postconf inet_protocols

Ще видите: inet_protocols = all

Да ограничите използването до само IPv4 и да избегнете проблеми с IPv6, използвайте командата: 

sudo postconf -e "inet_protocols = ipv4"

След това рестартирайте Postfix: 

sudo systemctl restart postfix

Заключение

Вече знаете как да инсталирате собствен имейл сървър на Ubuntu сървър. Може да го ползвате с нашите наети сървъри или клауд сървъри. Инсталирайте имейл сървър на вашия сървър, такъв какъвто вие може да контролирате със софтуер, който няма да ви подведе. Спестете пари и подобрете производителността днес!

Ако имате нужда да си припомните още детайли за Ubuntu, може да го направите тук:

Вашият коментар

Вашият имейл адрес няма да бъде публикуван.