Кіріспе

Поштаны жеткізу агенті (1995 ж. жазылған) электрондық поштаны жеткізу агенті.

Exim – Unix сияқты операциялық жүйелерде қолданылатын поштаны жеткізу агенті (MTA). Exim – GNU General Public License шарты бойынша таратылатын ақысыз бағдарламалық қамтамасыз ету. Ол келіп түсетін электрондық поштаны тексеруге арналған кең мүмкіндіктері бар, жалпы және икемді пошта таратушы болып табылады. Exim көптеген Unix сияқты жүйелерге, сондай-ақ Cygwin эмуляция қабаты арқылы Microsoft Windows жүйесіне портталды. Қазіргі уақытта Exim 4 – Debian Linux жүйелеріндегі стандартты MTA. Көптеген Exim орналымдары бар, әсіресе Ұлыбританиядағы интернет-провайдерлер мен университеттерде. Exim сонымен қатар GNU Mailman пошта тізімі басқарушысымен және cPanel-мен кеңінен қолданылады. 2023 жылдың наурызында E Soft, Inc. жүргізген зерттеуде интернеттегі қоғамдық желідегі пошта серверлерінің 59%-ы Exim-ді пайдаланатыны болжанды.

Шығу тегі

Exim-нің алғашқы нұсқасы 1995 жылы Филип Хейзел Кембридж университетінің есептеу қызметінің электрондық пошта жүйелерінде пайдалану үшін жазылған. Атауы бастапқыда EXperimental Internet Mailer деген мағынаны білдірген. Ол бастапқыда Smail 3 ескі почталық агентінің негізінде құрылған, бірақ кейіннен Smail 3-тің дизайны мен философиясынан едәуір өзгеше болды.

Жобалық үлгі

Exim, Smail сияқты, әлі де Sendmail дизайн үлгісін сақтайды, онда бір ғана бинарлық файл MTA-ның барлық мүмкіндіктерін басқарады. Exim-де артықшылықтарды алу және жоғалту кезеңдері анық белгіленген. Exim-нің қауіпсіздігіне қатысты бірнеше жыл бойы бірқатар маңызды қауіпсіздік мәселелері анықталды. Жаңадан жобаланған 4-ші нұсқасы шыққаннан бері төрт қашықтықтан кодты орындауға мүмкіндік беретін қате және біреуі – жұмыс істеп тұрған конфигурацияларға қатысты сенім деңгейіне байланысты түсініксіздік болды; соңғысы 4.73 нұсқасындағы қауіпсіздік бұғаттауы арқылы түзетілді, бұл Exim-нің жұмыс конфигурацияларымен кері үйлесімділігін бұзған сирек кездесетін жағдайлардың бірі.

Конфигурация стильдері

Экзим конфигурациясының екі негізгі стилі бар. Түпкілікті стиль Экзим конфигурациясын бір файлда сақтайды, ал сыртқы файлдар дерек көзі ретінде ғана қолданылады; бұл Филип Хейзелдің қалауларымен және өнімділік туралы ескертпелерімен күшті байланысты, себебі конфигурациялық файл әрбір exec кезінде қайта оқылады, бұл кіріс байланыстарын қабылдау және хаттарды жеткізу кезінде болады. Екінші, жиі кездесетін стиль – Debian стилі, ол орнатылған қосымшаның әкімшіге конфигурациялық файлдарды өңдеуге рұқсат бермей, автоматты түрде электрондық пошта интеграциясын қамтамасыз етуіне мүмкіндік беру үшін жасалған. Осы стильдің бірнеше нұсқасы бар және Debian өздерінің тәсілдерін пакеттерінің құрамында құжаттамамен ұсынады. Бұл тәсілдерде, конфигурация фрагменттері бар үлгілер мен каталогтармен бірге Exim конфигурациялық файлын құру үшін debconf конфигурациялық файлы қолданылады. Мета-конфигурация, экзим қадағалаушысы шақырылғанда конфигурациялық файлдарды қайта өңдейді, нәтижесінде экзим бинарлық файлы қолданатын жалғыз конфигурациялық файл жасалады. Debian тәсілі Экзимнен едәуір өзгеше болғандықтан, ресми Экзим пошталық тізімдерінде Debian тәсіліне қолдаудың жетіспеуі жиі кездеседі, адамдарға Debian сұрақтарын Debian басқарылатын пошталық тізімінде қоюға кеңес беріледі. Ubuntu пакеттері де пайдаланушыларға Debian пошталық тізімін пайдалануды ұсынады.

Құжаттамалық

Exim кең және толыққанды құжаттамаға ие; егер қандай да бір мүмкіндік немесе әрекет құжатталмаса, ол қате деп есептеледі. Құжаттама The Exim Specification және екі қосымша файлдан тұрады: болашақта жойылуы мүмкін мүмкіндіктерге арналған эксперименттік спецификация және "NewStuff", ол негізгі спецификацияға толық енбеген жаңа өзгерістерді қадағалайды. Exim Specification бірнеше форматта қолжетімді, оның ішінде HTML және жылдам іздеу үшін қарапайым мәтін форматында. Құжатты дайындау жүйесі қарапайым мәтін форматының ыңғайлы болуын қамтамасыз етеді.

Өнер көрсету

Exim қарбалас орталарда қолданылған, сағатына мыңдаған электрондық хаттарды тиімді түрде өңдей алады. Exim электрондық хаттарды кезекке қоймай, дереу жеткізуге арналған. Дегенмен, кезектер үлкен болғанда (әдеттегі аз трафикті сайттарда сирек кездеседі, бірақ жоғары трафикті сайттарда жиі болуы мүмкін) кезек өңдеудің өнімділігі салыстырмалы түрде нашар. Qmail, Postfix және ZMailer-ден айырмашылығы, Exim-де орталық кезек басқарушысы жоқ (яғни qmail send, qmgr немесе scheduler-ге баламасы). Сондықтан кезек өңдеудің орталықтандырылған жүктеме теңгерімі жоқ (бұл бір кезек элементін қайта-қайта өңдеуге кеткен уақыттың артық болуына әкеледі). Жүйелік қашықтан тасымалдаудың бір мезгілделігі әдепкі бойынша шектелмейді (бір доменге бірнеше хабарлама бірден жіберілген кезде "көктегі қора" мәселесіне ұшырауы мүмкін), бірақ конфигурация арқылы шектеуге болады. Филип Хейзелдің сөздерімен айтқанда:

"Негізгі мәселе – Exim кезек үнемі өте үлкен болатын ортада жақсы өнім көрсетпейді. Ол осы мақсатта жасалмаған, кезектерден хабарларды жіберу әрқашан қалыпты жағдай емес, ерекше жағдай ретінде қарастырылған." 1997 жылы Хейзел Генри Спенсер жазған Exim-нің POSIX тұрақты өрнектер кітапханасын PCRE (Perl Compatible Regular Expressions) деп аталатын өзі әзірлеген жаңа кітапханамен алмастырды. Perl тұрақты өрнектері POSIX және басқа да кең таралған тұрақты өрнектерге қарағанда әлдеқайда қуатты, ал PCRE Exim-нен басқа да көптеген қолданбаларда танымал болды. 2021 жылы (4.95 нұсқасынан кейін) Exim PCRE2-ге көшті.

Жаңартулар

Тарихи тұрғыдан Exim ерекше нұсқалау схемасын қолданды, онда бірінші ондық сан тек негізгі құжаттама толық жаңартылған кезде ғана жаңартылатын болды; сол уақытқа дейін өзгерістер NewStuff файлында жинақталып отырды. Осы себепті, 0.01 нұсқасының өзгеруі маңызды өзгерістерді білдіруі мүмкін, бірақ олар міндетті түрде толық құжатталмаған болуы мүмкін. 2005 жылы Exim нұсқаларын нөмірлеуді өзгерту мәселесі талқыланды. Соңғы кезде Exim үшін құжат дайындау жүйесі жаңартылды және өзгерістер бірден Exim спецификациясына енгізілуі мүмкін. 4.70 нұсқасы 4.69 нұсқасынан табиғи түрде туындады, ал 4.6x нұсқалары жаңартылған құжаттамамен жабдықталды. Филип Хейзел 2007 жылы Кембридж университетінен зейнетке шықты және Exim-ді күтіп-ұстау жұмысы күтіп-ұстаушылар тобына жүктелді. Exim әлі де белсенді түрде күтіліп, жиі жаңа нұсқалары шығарылуда.