Кантрольны спіс для паспяховай адпраўкі і праверкі дастаўкі пошты
Для далейшых праверак спатрэбіцца наступнае праграмнае забеспячэнне:
-
Утыліта host
- Debian/Ubuntu:
apt-get install bind9-host - CentOS:
yum install bind9-host
- Debian/Ubuntu:
-
Утыліта Telnet
- Debian/Ubuntu:
apt-get install telnet - CentOS:
yum install telnet
- Debian/Ubuntu:
Запіс MX
MX-запіс — гэта тып DNS-запісу, прызначаны для рэгістрацыі паштовых сервераў з выкарыстаннем пратаколу SMTP. Гэты запіс адказвае за вызначэнне сервера, на які электронны ліст павінен быць дастаўлены паштовым агентам адпраўніка. Для аднаго дамена можа існаваць некалькі тыпаў запісаў з рознымі прыярытэтамі.
Вы можаце праверыць, ці працуе пошта лакальна або выкарыстоўвае іншы паштовы сервер, з дапамогай каманды host:
host -t MX example.com
Пры працы з лакальным паштовым серверам будзе паказаны наступны вывад:
Пошта для example.com апрацоўваецца 10 mail.example.com.
Варта адзначыць, што запіс mail.example.com таксама можа ўказваць на іншы сервер. Акрамя таго, неабходна адзначыць, што mail.example.com павінен быць існуючым A-запісам, які ўказвае на сервер, з якога вы адпраўляеце пошту.
Вы таксама можаце выканаць наступныя каманды для праверкі:
host example.com
host mail.example.com
І параўнаць IP-адрасы, на якія ўказваюць асноўны дамен, у дадзеным выпадку example.com, і mail.example.com.
MX-запіс павінен быць настроены, каб паштовыя серверы маглі прымаць вашу электронную пошту.
Прыклад MX-запісу:
Імя: example.com.
Тып: MX
Значэнне: mail.example.com.
Прыярытэт: 10
DKIM-подпіс
З дапамогай FASTPANEL® DKIM-подпіс можна атрымаць у меню кіравання → раздзел «Mail», націснуўшы «DKIM» насупраць патрэбнага паштовага дамена

З боку DNS запіс трэба дадаць наступным чынам:
Імя: dkim._domainkey
Тып: TXT
Значэнне: v=DKIM1; k=rsa; p=public_key
Вось прыклад правільнага DKIM-запісу
dkim._domainkey TXT v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpbBQ0T2xO3/SwziunIC/IFbsxBRub6WXiu8Kc2w7uB4GVw+SAB5wSEslDJbFXQRbdV9i/Duu8EQ9xik8dbqdLVyP4iAtw34g4j6QWKcfocgK4hEkwlPFff1dzUlNQONh2riNE5KVJXuWcizm8hub7nPnl36e7OnxiL0qIU7tT1QIDAQAB
Больш падрабязную інфармацыю пра DKIM можна знайсці на https://wikipedia.org/wiki/DomainKeys_Identified_Mail
SPF-запіс
Наяўнасць SPF-запісу можна праверыць, выканаўшы каманду host. У гэтым выпадку каманда будзе выглядаць так:
host -t TXT example.com
З такім вывадам:
example.com апісальны тэкст "v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all"
Звярніце ўвагу, што ipv6 можа адсутнічаць у гэтым запісе. У гэтым выпадку SPF-подпіс будзе выглядаць так:
example.com апісальны тэкст "v=spf1 ip4:ipv4_of_your_server a mx ~all"
Неабходна адзначыць, што павінен быць толькі адзін SPF-запіс
З боку DNS запіс трэба дадаць наступным чынам:
Імя: example.com.
Type: TXT
Value:
v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all
або (калі ipv6 не выкарыстоўваецца)
v=spf1 ip4:ipv4_of_your_server a mx ~all
Напрыклад:
example.com TXT v=spf1 ip4:1.2.3.4 a mx ~all
Больш падрабязную інфармацыю пра SPF можна атрымаць на https://wikipedia.org/wiki/Sender_Policy_Framework
DMARC-запіс
У большасці выпадкаў значэнне запісу DMARC будзе аднолькавым.
З боку DNS запіс трэба дадаць наступным чынам:
Імя: _dmarc
Тып: TXT
Значэнне: v=DMARC1; p=none
Напрыклад:
_dmarc.example.com. TXT v=DMARC1; p=none
Больш падрабязную інфармацыю пра DMARC можна знайсці на https://wikipedia.org/wiki/DMARC
Запіс PTR і hostname сервера
Запіс PTR — гэта зваротны DNS-запіс, які пераўтварае IP-адрас у імя. Асноўнае прызначэнне гэтага запісу для паштовага сервера — адсяванне большасці спаму. Гэты запіс дазваляе вызначыць імя хаста, з якога паступае электронная пошта. Часцей за ўсё PTR-запіс утрымлівае даменнае імя, якое выкарыстоўваецца на серверы.
PTR-запіс звязвае ip-адрас з імем хаста. Калі PTR-запіс указаны няправільна, вашы лісты будуць адхіляцца і не дойдуць да атрымальніка.
Hostname павінен быць указаны як імя рэальнага дамена, які ўказвае на сервер, а PTR павінен указваць на дамен, які, у сваю чарг у, указвае на сервер.
Напрыклад, на вашым серверы ёсць дамен example.com.
Выканаўшы каманду:
host example.com
вы можаце атрымаць вывад:
example.com мае адрас 1.2.3.4
Пошта для example.com апрацоўваецца 10 mail.example.com.
Каб пазбегнуць магчымых праблем, рэкамендуецца задаць hostname і PTR-запіс як існуючы паддамен другога ўзроўню, напрыклад mail.example.com
Даступнасць партоў SMTP
Некаторыя хостынг-правайдары закрываюць магчымасць выкарыстання партоў, якія выкарыстоўваюцца для адпраўкі або атрымання пошты. Порты для паштовых службаў могуць быць 25, 587, 465, 143 і 993.
Адзін з самых простых спосабаў праверыць даступнасць гэтых партоў — выкарыстоўваць каманду telnet.
Каб праверыць уваходнае злучэнне са старонняга сервера
Выканаеце каманду:
telnet ip_adress port
Напрыклад, калі вы спрабуеце падключыцца праз telnet да порта 25 на 1.2.3.4, трэба выканаць такую каманду:
telnet 1.2.3.4 25
Калі злучэнне паспяховае, вы ўбачыце прыкладна такі вывад:
Спроба падключэння да 1.2.3.4...
Падключана да 1.2.3.4.
Сімвал выхаду — '^]'.
Калі злучэнне не ўдасца, вывад будзе выглядаць так:
Падключэнне да 1.2.3.4 ...
Не ўдалося адкрыць падключэнне да хоста праз порт some_port: не ўдалося падключыцца
Або:
telnet: Немагчыма падключыцца да аддаленага хоста: час чакання падключэння скончыўся
Для выходнага злучэння
На вашым серверы выканайце каманду:
telnet smtp.gmail.com 25
Калі злучэнне паспяховае, вы ўбачыце прыкладна такі вывад:
Спроба падключэння да 2a00:1450:4010:c0b::6c...
Падключана да smtp.gmail.com.
Сімвал выхаду — '^]'.
220 smtp.gmail.com ESMTP j6-20020ac25506000000b004b53eb60e3csm1066162lfk.256 - gsmtp
Калі ласка, звярніце ўвагу, што калі вы выкарыстоўваеце воблачны хостынг і выкарыстоўваеце порт 25 для вашага SMTP-сервера, ёсць вялікая верагоднасць, што ваш хостынг-правайдар па змаўчанні блакуе выходныя злучэнні на порце 25. Ніжэй вы можаце ўбачыць спасылкі з інструкцыямі па вырашэнні гэтай праблемы:
- AWS: Як зняць абмежаванне на порт 25 з майго асобніка Amazon EC2 або функцыі AWS Lambda?
- Azure: Ухіленне праблем з выходным падключэннем SMTP у Azure
- GCP: Адпраўка электроннай пошты з асобніка
- DigitalOcean: Чаму SMTP заблакаваны?
У дадатак да блакіроўкі партоў вашым хостынг-правайдарам, вам трэба праверыць, ці не закрыты парты на вашым серверы. Возьмем у якасці прыкладу iptables, які выступае ў ролі міжсеткавага экрана пры выкарыстанні панэлі кіравання FASTPANEL. Каманда для праверкі наяўнасці правіла для пэўнага порта, у дадзеным выпадку 25, выглядае так:
iptables-save | grep 25
Калі ў вас няма правіла для порта, які вы хочаце праверыць, ніякай інфармацыі выведзена не будзе. Калі вы бачыце, што існуе правіла, якое блакуе порт паштовай службы, вам трэба выдаліць гэтае правіла з дапамогай каманды:
iptables -D rule chain
Напрыклад, вы выканалі каманду і атрымалі наступнае:
iptables-save | grep 25
-A INPUT -p tcp -m tcp --dport 25 -j DROP
Гэта правіла не дазваляе ніякага доступу да вашага сервера праз порт 25, што будзе перашкаджаць адпраўцы пошты
Каб выдаліць правіла, выкарыстоўвайце каманду:
iptables -D INPUT -p tcp -m tcp --dport 25 -j DROP
Гэты прыклад каманды дазваляе праверыць кожны порт, які выкарыстоўваецца для адпраўкі пошты
Уплыў IPv6 на адпраўку пошты
Калі вам трэба выкарыстоўваць ipv6 для вашых паштовых службаў, першае, што трэба зрабіць, — гэта праверыць, ці ёсць PTR-запіс для ipv6 і ці слухаюць паштовыя службы ipv6 на пэўных партах.
Вы можаце выканаць праверку з дапамогай каманды:
netstat -nltpp | grep tcp6
Вынікам вываду гэтай каманды будзе спіс усіх службаў, якія выкарыстоўваюць ipv6, сярод якіх вы ўжо можаце праверыць, ці выкарыстоўвае ваша паштовая служба гэты адрас. На жаль, у наш час выкарыстанне ipv6 можа працаваць некарэктна, нават калі вы зрабілі ўсе налады правільна.
Калі, праверыўшы журналы паштовай службы, вы выявілі, што памылка звязана з ipv6 і ўся канфігурацыя правільная, вы можаце адключыць выкарыстанне ipv6 для паштовай службы.
На прыкладзе exim4 адключэнне ipv6 выглядае так:
-
Праверце, ці выкарыстоўваецца ipv6-адрас службай, з дапамогай каманды
netstat -nltp | grep exim
-
У канфігурацыйны файл
/etc/exim4/exim4.conf.templateтрэба дадаць наступны радок у самы верх файла:disable_ipv6=true
-
Захавайце змены ў файле, а затым перазапусціце службу камандай кшталту:
systemctl restart exim4 -
Выканаеце каманду:
netstat -nltp | grep eximкаб праверыць, што службы больш няма ў спісе
Праверце адпраўку пошты з дапамогай старонніх сэрвісаў
Пасля таго як вы праверылі ўсе вышэйпералічаныя пункты, вы можаце праверыць адпраўку пошты з вашага сервера з дапамогай старонніх рэсурсаў.
Адным з найбольш зручных і інфарматыўных сэрвісаў з'яўляецца https://www.mail-tester.com
З яго дапамогай вы можаце праверыць бягучы рэйтынг вашай пошты, атрымаць інфармацыю пра тое, ці правільна настроеныя ўсе вышэйзгаданыя даныя, а таксама атрымаць рэкамендацыі па паляпшэнні рэйтынгу.
Для гэтага проста адпраўце электронны ліст на адрас, указаны на сайце, а затым націсніце «Then check your score».
