ΠΡΠΎΠ΅ΠΊΡ vSMTP ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ (MTA), Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠΉ Π½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPLv3.
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, vSMTP Π² Π΄Π΅ΡΡΡΡ ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΠ΅ MTA. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, vSMTP ΠΏΠΎΠΊΠ°Π·Π°Π» Π² 4-13 ΡΠ°Π· Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΡΠ΅ΠΌ Π² Postfix 3.6.4 ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ, ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 100 ΠΠ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ 4-16 ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ΅Π°Π½ΡΠΎΠ². ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ.
vSMTP ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° Rust, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ ΠΏΠ°ΠΌΡΡΡΡ. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ TOML.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° vSL Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΈΡΠ΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΡΡΠ΅ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ. Π―Π·ΡΠΊ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Rhai, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅ΠΌ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Rust ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΠΉ ΡΠΌΠ΅ΡΡ JavaScript ΠΈ Rust. Π‘ΡΠ΅Π½Π°ΡΠΈΡΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ API Π΄Π»Ρ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡ Π΄ΠΎΡΡΠ°Π²ΠΊΠΎΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ Ρ ΠΎΡΡΡ. Π ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΊ Π‘Π£ΠΠ, Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ΅ΠΌ Π² ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½. ΠΠΎΠΌΠΈΠΌΠΎ vSL Π΄Π»Ρ Π±ΠΎΡΡΠ±Ρ Ρ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² vSMTP ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ SPF ΠΈ ΡΠΈΠ»ΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΎΡΠΊΡΡΡΡΡ ΡΠ΅Π»Π΅Π΅Π².
ΠΠ· ΠΏΠ»Π°Π½ΠΎΠ² Π½Π° Π±ΡΠ΄ΡΡΠΈΠΉ Π²ΡΠΏΡΡΠΊ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π‘Π£ΠΠ Π½Π° Π±Π°Π·Π΅ SQL (ΡΠ΅ΠΉΡΠ°Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± Π°Π΄ΡΠ΅ΡΠ°Ρ
ΠΈ Ρ
ΠΎΡΡΠ°Ρ
Π·Π°Π΄Π°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ CSV) ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ DANE (DNS-Based Authentication of Named Entities) ΠΈ DMARC (Domain-based Message Authentication). Π Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½Π½ΡΡ
Π²Π΅ΡΡΠΈΡΡ
ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ BIMI (Brand Indicators for Message Identification) ΠΈ ARC (Authenticated Received Chain), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Redis, Memcached ΠΈ LDAP, ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ DDoS ΠΈ SPAM-Π±ΠΎΡΠΎΠ², ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π² Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ
(ClamAV, Sophos ΠΈ Ρ.ΠΏ.).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru