Кантрольны спіс для паспяховай адпраўкі і праверкі дастаўкі пошты
Для далейшых праверак спатрэбіцца наступнае праграмнае забеспячэнне:
-
Утыліта 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».
