vSMTP ํ๋ก์ ํธ๋ ๊ณ ์ฑ๋ฅ ์ ๊ณต๊ณผ ์ ์ฐํ ํํฐ๋ง ๋ฐ ํธ๋ํฝ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์ ๊ณต์ ๋ชฉํ๋ก ํ๋ ์๋ก์ด ๋ฉ์ผ ์๋ฒ(MTA)๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ Rust๋ก ์์ฑ๋์์ผ๋ฉฐ GPLv3 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
๊ฐ๋ฐ์๊ฐ ๊ฒ์ํ ํ ์คํธ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด vSMTP๋ ๊ฒฝ์ MTA๋ณด๋ค 4๋ฐฐ ๋น ๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด vSMTP๋ 13KB ๋ฉ์์ง๋ฅผ ์ ์กํ๊ณ 3.6.4~100๊ฐ์ ๋์ ์ธ์ ์ ์ค์ ํ ๋ Postfix 4๋ณด๋ค 16~XNUMX๋ฐฐ ๋ ๋์ ์ฒ๋ฆฌ๋์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ์ค๋ ๋ ๊ฐ ํต์ ์ ๋น๋๊ธฐ ์ฑ๋์ ์ฌ์ฉํ๋ ๋ฉํฐ ์ค๋ ๋ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ์ฑ๋ฅ์ ๋ฌ์ฑํฉ๋๋ค.
vSMTP๋ ๋์ ๋ณด์์ ๋ณด์ฅํ๋ ๋ฐ ์ค์ ์ ๋๊ณ ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. ์ด๋ ์ ์ ๋ฐ ๋์ ํ ์คํธ๋ฅผ ์ฌ์ฉํ ์ง์ค์ ์ธ ํ ์คํธ์ Rust ์ธ์ด์ ์ฌ์ฉ์ ํตํด ๋ฌ์ฑ๋๋ฉฐ, ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๋ฉด ์์ ๊ณผ ๊ด๋ จ๋ ๋ง์ ์ค๋ฅ๋ฅผ ํผํ ์ ์์ต๋๋ค. ๊ธฐ์ต๊ณผ ํจ๊ป. ๊ตฌ์ฑ ํ์ผ์ TOML ํ์์ผ๋ก ์ ์๋ฉ๋๋ค.
ํ๋ก์ ํธ์ ํน๋ณํ ๊ธฐ๋ฅ์ ์ด๋ฉ์ผ ํํฐ๋ง ์คํฌ๋ฆฝํธ ์์ฑ์ ์ํ vSL ์ธ์ด๊ฐ ๋ด์ฅ๋์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด ์์น ์๋ ์ฝํ ์ธ ๋ฅผ ํํฐ๋งํ๊ณ ํธ๋ํฝ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋งค์ฐ ์ ์ฐํ ๊ท์น์ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์ธ์ด๋ ๋์ ํ์ดํ์ ์ฌ์ฉํ๊ณ ์ฝ๋๊ฐ Rust ํ๋ก๊ทธ๋จ์ ์ธ๋ผ์ธ๋ ์ ์๋๋ก ํ๋ฉฐ JavaScript์ Rust์ ํผํฉ๊ณผ ์ ์ฌํ ๊ตฌ๋ฌธ์ ์ ๊ณตํ๋ Rhai ์ธ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๋ค์ด์ค๋ ๋ฉ์์ง๋ฅผ ๊ฒ์ฌ ๋ฐ ์์ ํ๊ณ , ๋ฉ์์ง๋ฅผ ๋ฆฌ๋๋ ์ ํ๊ณ , ๋ก์ปฌ ๋ฐ ์๊ฒฉ ํธ์คํธ๋ก์ ์ ๋ฌ์ ์ ์ดํ๋ โโAPI์ ํจ๊ป ์คํฌ๋ฆฝํธ๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์คํฌ๋ฆฝํธ๋ DBMS ์ฐ๊ฒฐ, ์์ ๋ช ๋ น ์คํ ๋ฐ ์ด๋ฉ์ผ ๊ฒฉ๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค. vSL ์ธ์๋ vSMTP๋ ์์น ์๋ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๊ณต๊ฐ ๋ฆด๋ ์ด ๋ชฉ๋ก์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ SPF ๋ฐ ํํฐ๋ ์ง์ํฉ๋๋ค.
ํฅํ ๋ฆด๋ฆฌ์ค ๊ณํ์๋ SQL ๊ธฐ๋ฐ DBMS(ํ์ฌ ์ฃผ์ ๋ฐ ํธ์คํธ์ ๋ํ ๋ฐ์ดํฐ๋ CSV ํ์์ผ๋ก ์ง์ ๋จ)์์ ํตํฉ ๊ฐ๋ฅ์ฑ๊ณผ ์ธ์ฆ ๋ฉ์ปค๋์ฆ DANE(DNS ๊ธฐ๋ฐ ์ธ์ฆ ์ค๋ธ ๋ช
๋ช
๋ ์ํฐํฐ) ๋ฐ DMARC(๋๋ฉ์ธ ๊ธฐ๋ฐ)์ ๋ํ ์ง์์ด ํฌํจ๋ฉ๋๋ค. ๋ฉ์์ง ์ธ์ฆ). ๋ ๋ง์ ๋ณ๋ ๋ฒ์ ์์๋ BIMI(Brand Indicators for Message Identification) ๋ฐ ARC(Authenticated received Chain) ๋ฉ์ปค๋์ฆ, Redis, Memcached ๋ฐ LDAP์์ ํตํฉ ๊ธฐ๋ฅ, DDoS ๋ฐ SPAM ๋ด์ผ๋ก๋ถํฐ ๋ณดํธํ๊ธฐ ์ํ ๋๊ตฌ, ๊ตฌ์ฑ์ฉ ํ๋ฌ๊ทธ์ธ์ ๊ตฌํํ ๊ณํ์
๋๋ค. ๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ํจํค์ง(ClamAV, Sophos ๋ฑ)๋ฅผ ํ์ธํฉ๋๋ค.
์ถ์ฒ : opennet.ru