์ฌ์ฉ์ ์์ ์ ์ ํํด์ผ ํ๋ ์๊ฒฉ ์ก์ธ์ค๊ฐ ์ ํ๋ ์์คํ ์์ ์ฌ์ฉํ๋๋ก ์ค๊ณ๋ ํน์ ๋ช ๋ น ์ ธ์ธ GNU Rush 2.2(์ ํ๋ ์ฌ์ฉ์ ์ ธ) ๋ฆด๋ฆฌ์ค๊ฐ ์ถ์๋์์ต๋๋ค. Rush๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ ์ ์๋ ๋ช ๋ น์ค ๊ธฐ๋ฅ๊ณผ ์ฌ์ฉ์์๊ฒ ์ ๊ณต๋๋ ๋ฆฌ์์ค(๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ, ํ๋ก์ธ์ ์๊ฐ ๋ฑ)๋ฅผ ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Rush๋ฅผ ์ฌ์ฉํ๋ฉด chrooted ํ๊ฒฝ์์ ํ๋ก๊ทธ๋จ์ ์๊ฒฉ์ผ๋ก ์คํํ ์ ์์ต๋๋ค. ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฒด ํ์ผ ์์คํ ์ ์ก์ธ์คํ ์ ์๋ sftp-server ๋๋ scp์ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ํตํด ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ๋ ๋ณด์์ ๊ฐํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ ๋ฆด๋ฆฌ์ค์์๋ ํ์ผ ์์คํ ์ ํ์ผ ๋ฐ ๋๋ ํฐ๋ฆฌ์ ๋ํ ์ํ ํ์ธ์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ด์ ๊ท์น์ ํตํด ํ์ผ ํ์, ์ก์ธ์ค ๊ถํ ๋ฐ ์์ ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ํ์ธ์ ์ํ ์ต์ ํ์์ "test" ๋ช ๋ น ์์ ๊ณผ ์ ์ฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๊ณ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํค๋์ง ํ์ธํ๋ ค๋ฉด "match -d /var/lock/sd" ๊ตฌ์ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์๊ณผ ์คํ์ ์กฐ์ ํ๋๋ก ์ค๊ณ๋ GNU pies 1.7 ์ ํธ๋ฆฌํฐ๊ฐ ์ถ์๋์์ต๋๋ค. ์ง์ ๋ ๊ตฌ์ฑ์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ ํ์ผ์ ์คํํ๊ณ ์คํ์ ๋ชจ๋ํฐ๋งํ๋ฉฐ ๋ค์ํ ์ํ์ ๋ํ ํธ๋ค๋ฌ๋ฅผ ๋ฐ์ธ๋ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋น์ ์์ ์ธ ์ข ๋ฃ ์ ํ๋ก๊ทธ๋จ์ ๋ค์ ์์ํ๊ฑฐ๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์คํํ๊ฑฐ๋ ์๋ฆผ์ ๋ณด๋ผ ์ ์์ต๋๋ค. ๊ด๋ฆฌ์์๊ฒ. GNU ํ์ด๋ฅผ ํฌํจํ๋ฉด init ํ๋ก์ธ์ค๋ก ์ฌ์ฉ๋ ์ ์๊ณ ์์คํ ๋ถํ ์ค์ ์ฒ์ ์์๋๋ฉฐ /etc/inittab ํ์์ ์ง์ํฉ๋๋ค.
GNU Pies์ ์ ๋ฒ์ ์์๋ ๊ตฌ์ฑ ํ์ผ๊ณผ ํจ๊ป ์๋ํ๋ ๋ฐฉ์์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ๋ด์ฅ ์ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์ ๊ฑฐ๋์์ผ๋ฉฐ "#include" ๋ฐ "#include_once" ํํ์์ ์ง์ ๋ ๊ฐ ํ์ผ์ ์ด์ ์ธ๋ถ ์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๋๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค(์ด์ ์๋ ๋ด์ฅ ์ ์ฒ๋ฆฌ๊ธฐ๊ฐ ๋จผ์ ๋ชจ๋ "#include" ๋์ฒด ํญ๋ชฉ์ ํ์ฅํ์ผ๋ฉฐ, ๊ทธ๋ฐ ๋ค์ ๊ฒฐ๊ณผ๋ ์ธ๋ถ m4 ์ ์ฒ๋ฆฌ๊ธฐ์ ์ํด ์ ์ฒด์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. ๊ฒฝ๊ณ ๋ฅผ ์์ฑํ๊ณ ์ค๋ฅ๋ฅผ ํ์ํ๋ ์๋ก์ด ์ง๋จ ํํ์ '#warning "TEXT"', '#error "TEXT"' ๋ฐ '#abend "TEXT"'๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
๋ํ ๋ฉ์์ง์ ํ๋ ๊ตฌ๋ฌธ ๋ถ์, ๋ฉ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค(mailbox, maildrop, maildir) ์์ , ๋ฉ์์ง ํํฐ๋ง, ์ด๋ฉ์ผ ๊ฐ์กฐ ํ์ ๋ฑ ์ด๋ฉ์ผ๊ณผ ๊ด๋ จ๋ ๋ค์ํ ์์ ์ ์ํํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ํธ๋ฆฌํฐ๋ฅผ ์ ๊ณตํ๋ GNU mailutils 3.14 ์ ํ๊ตฐ์ ๋ฆด๋ฆฌ์ค์ ์ฃผ๋ชฉํ ์๋ ์์ต๋๋ค. ์ฃผ์ ๋ฐ URL, MIME ๋ธ๋ก ์ฒ๋ฆฌ, IMAP4 ๋ฐ POP3 ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์ธ๋ถ ์๋ฒ์์ ์ด๋ฉ์ผ ๊ฒ์, TLS, SASL ๋ฐ GSSAPI ์ฌ์ฉ์ ํฌํจํ์ฌ SMTP๋ฅผ ํตํด ์ด๋ฉ์ผ ์ ์ก.
GNU mailutils์ ์ ๋ฒ์ ์ TLS ์ง์์ ์์ ํ ๋ค์ ์์ฑํ์ต๋๋ค. TLS์ ๋ํ ์๊ฐ ์ ํ์ ์ค์ ํ๊ธฐ ์ํด tls.handshake-timeout ์ค์ ์ ์ถ๊ฐํ์ต๋๋ค. ๋ฉ์ผํจ์ ๋ฉ์์ง๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํ mu_mailbox_append_message_ext ํจ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ๋ฉ์ผ ์ ํธ๋ฆฌํฐ์ ์ฝ์ง ์์(U) ๋ช
๋ น์ด ์ถ๊ฐ๋์ด ๋ฉ์์ง ์ฝ๊ธฐ ํ์๊ฐ ์ ๊ฑฐ๋์์ผ๋ฉฐ, ๋ค๋ฅธ ํธ์งํจ์ผ๋ก ๋ณต์ฌ ๋ช
๋ น ์ ์ํ ์ ์ฅ(์ฝ์ ๋๋ ์ฝ์ง ์์)์ด ๋ณด์ฅ๋ฉ๋๋ค. ํ์ ๋ฐ ์ค์บ๋์ ์ฝ๋๊ฐ ๋ค์ ์์ฑ๋์์ต๋๋ค. ์ด์ ์ด์
๋ธ๋ฆฌ์ GNU bison ๋ฐ flex๊ฐ ํ์ํฉ๋๋ค. libmailutils ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ MIME ์ ํ์ ํฌํจํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. Maildir ๋ฐ MH๋ X-Envelope-Sender ๋ฐ X-Envelope-Date ํค๋์ SMTP ์ธ์
์ค์ MAIL FROM ๋ช
๋ น์ผ๋ก ์ ์ก๋ ๋ณด๋ธ ์ฌ๋ ์ ๋ณด๋ฅผ ๋ ์ด์ ํ์ํ์ง ์๊ณ ๋์ ์ด ์ ๋ณด๋ฅผ Return-Path ๋ฐ Receiverd ํค๋์ ์ ์ฅํฉ๋๋ค.
์ถ์ฒ : opennet.ru