Э-Мэйл сервер

**Э-мэйл сервер** гэдэг нь хэрэглэгчдийг бүртгэж, электрон шуудангийн хаяг олгох, хэрэглэгчдийн илгээсэн захидлуудыг дамжуулах үүрэгтэй интернэтэд байнга холбоотой байдаг компьютеруудыг хэлнэ. И-мэйл сервер нь и-мэйл шуудангуудыг бусад үйлчлэгч эсвэл өөр серверүүдийн хооронд дамжуулах болон хадгалах ажиллагааг хэрэгжүүлдэг. Интернэтэд холбогдсон компъютерт тусгай програм хангамжыг суулгаад server болгон ашиглаж болно. Ингэвэл бусад хүмүүс энэ компъютер луу хандаж ямар нэгэн мэдээлэл авах боломжтой болно. Таны илгээсэн и-мэйл хүлээн авагч дээрээ очих хүртлээ замдаа таарсан бүх и-мэйл серверээр дамжин өнгөрдөг. Чи зөвхөн нэг и-мэйл хаягаас өөр нэг и-мэйл хаяг руу мессеж илгээж чадна. 

## Э-Мэйл серверийн төрлүүд 
И-Мэйл серверүүд нь үндсэн хоёр категорид хуваагддаг ба гарах и-мэйл сервэрүүд (outgoing messages) болон ирж буй и-мэйл серверүүд (incoming messages) юм. Гарах и-мэйл серверт SMTP болон серверүүд. Ирж буй и-мэйл серверт POP3 (PC-нүүдийн local hard drive-д ирсэн болон хүлээн авсан мессежүүдийг хадгалдаг), IMAP (сервер дээр мессежүүдийг хуулж авч хадгалдаг) ордог.  
* SMTP
SMTP шуудангийн хаяг, буцах ба шууд хаягуудыг агуулах шуурхай дамжуулалтын процессыг хийдэг. Өөрөөр хэлбэл и-мэйлийг цааш өөр сервер рүү дамжуулах ажлыг хийнэ. SMTP нь 25-р портыг ашигладаг.
* POP
POP нь эхлээд таны и-мэйлийг серверээс уншдаг. Та мэйл сервертэйгээ интернэтээр холбогдоод РОР протоколоор мессежнийхээ хуулбарыг татаж аваад холболтоо салгана. Харин таны авсан и-мэйлүүд серверээс устгагдах болно. Хэрэв шаардлагатай бол (өөр төхөөрөмж эсвэл програмаар) дараа дахин татаж авахаар сервер дээр мэйлүүдийнхээ хуулбарыг үлдээж болно.
* IMAP
IMAP клинт дээр өөрчлөлт хийхэд сервертэй синхрон хийгднэ. Энэ нь та төхөөрөмж дээрээ ямар нэгэн мэйл уншихад дараа нь вэб болон компьютераасаа хаягаа шалгахад тухайн мэйл автоматаар уншсан болж харагдна гэсэн үг юм. Таны уншсан, зөөсөн, утсгасан бүх мэйл болон хавтаснууд бусад төхөөрөмж дээр ч мөн ижил харагдна.

SMTP, POP, IMAP-ууд нь SSL протоколтой хамтарч ажилладаг.

## SSL 
SSL нь хэрэглэгчээс сервер рүү илгээж байгаа мэдээллийг encrypt буюу шифрлэж нууцлан илгээх бөгөөд серверээс хэрэглэгчид ирж байгаа мэдээллийг ямар нэг өөрчлөлтгүй, бүрэн бүтэн байдлыг хангах механизмыг агуулж байдаг. SSL нь зөвхөн интернэтийн сүлжээгээр дамжиж буй мэдээллийн нууцлалыг хангах хэрэгсэл болохоор, агуулгыг хянадаггүй бас серверийг хамгаалдаггүй.

SSL нь хэн үүсгэж байгаа, хэн баталгаа өгч байгаагаасаа шалтгаалан хоёр үндсэн хэсэгт хуваагддаг. 
* Хэн нэгэн өөрөө түлхүүрийг нь үүсгээд, өөрөө сертификатыг нь үүсгээд өөрөө баталгаа гаргаж байгаа бол үүнийг self signed гэж нэрлэдэг. 

* Харин түлхүүрийг нь өөрөө үүсгээд, сертификатыг нь thawte гэх мэт аль нэг аюулгүй байдлын(CA буюу Certificate Authority) компани үүсгэж, баталгааг гаргаж байгаа бол CA гэж нэрлэдэг. 
Self signed сертификат нь нууцлалын хувьд ялгаагүй ч маш бага хүрээнд хэрэглэхэд илүү тохиромжтой байдаг. Учир нь ийм төрлийн сертификат бүхий вэб рүү зочлох бүрд вэб хөтөч маань итгэх эсэхийг асуудаг. Харин CA-ын үүсгэсэн сертификат бүхий вэб руу ороход ямар нэг анхааруулга өгөхгүй бөгөөд өндөр нууцлалын баталгаа өгдөг юм.

SSL болон TLS нь клиент болон сервер хостуудын сүлжээн дээр загварчилагдсан байдаг ба Transport түвшинд сүлжээний холболтын сегментыг шифрлэдэг ба asymmetric cryptography-ын түлхүүр солилцоход, symmetric encryption-ыг хувийн бодлого болон мессэж бүрэн бүтэн байлгах баталгаажуулалтыг хийхэд ашигладаг. SSL нь connection oriented буюу холболт тогтож өгөгдөл дамжуулах процесс баталгаажсан (TCP/IP) үед хийгддэг криптограф протокол юм.

Энэхүү протокол нь хоёр арга замаар ажиллах бөгөөд Үүнд: Өөр өөр порт ашиглан холбогдох эсвэл энгийн тогтсон порт ашиглан клиент сервер холбогдох гэсэн арга замууд байдаг.

Сервер болон клиент нь three handshake process амжилттай хийгдвэл аюулгүй холболт цааш хийдэг.
* Клиент талын handshake нь SSL-н зөвшөөрөгдсөн серверлүү хүсэлт явуулж аюулгүй холболт тогтоох болон chiper цуглуулгаар дэмждэг(chiper болон hash функцууд).

* Тэрхүү цуглуулга буюу жагсаалтаас сервер нь тухайн клиэнтийг холболт тогтоох эсэхийг шийдвэрлэх chiper болон hash фунцуудээр хангадаг.

* Сервер нь баталгаажуулах тоон сертификатыг буцааж илгээдэг ба тэрхүү сертификатд серверийн нэр, сертификат баталгаажуулагч болон серверийн нийтийн түлхүүр зэрэг багтдаг.

* Клиэнт нь аюулгүй холболт тогтоохоос өмнө нь тухайн серверийн сертификат баталгаажуулагчаас баталгаажуулалт хүсдэг.

* Үүнд тухайн аюулгүй холболт тогтоох сенсийн түлхүүрүүдийг боловсруулах, Клиэнт нь рандом тоог серверийн нийтийн түлхүүртэй серверлүү илгээдэг.

* Тухайн рандом тоо боловсруулсан түлхүүр хоёулангаас нь encryption болон decryption материалыг гаргаж авдаг. Дээрхид handshake болон аюулгүй холболтын эхлэл багтсан ба encrypt болон decrypt материал нь холболт хаагдах хүртэл байна.
SSL/TLS аюулгүй байдлын аргачлалууд:
* MAC буюу мессеж баталгаажуулах код боловсруулах болон дараалсан дугаарчлал хэрэглэх

* Мессеж эмхэтгэхэд түлхүүр ашиглах түүнийг зөвхөн MAC шалгах

* Handshake хаах мессэж нь ялгаагүй шифрлэгдсэн байх

* SSL 3.0 нь SSL 2.0 дээр SHA-1 үндэслэн сертификат баталгаажуулалт дэмждэг болсон.
SMTP, POP3 болон IMAP протоколууд нь маш нарийн ажиллагаатай учраас э-мэйл шуудангийнхаа толгойн хэсэгт дараах хэд хэдэн чухал шаардлагатай мэдээллийг агуулж дамжуулдаг.
* Server IP – Серверийн IP хаяг

* Client IP – Харилцагчийн IP хаяг

* Server Port – Серверийн портын дугаар

* Client Port – Харилцагчийн портын дугаар 

* E-mail protocol ID – Э-мэйл протоколын дугаар 

* E-mail Sender – Э-мэйл илгээгч 

* E-mail Recipient List – Э-мэйл хүлээн авагчын жагсаалт 

* Total Recipient Count – Нийт хүлээн авагчын тоо 

* Message ID – Шуудангийн дугаар 

* Status – Төлөв байдал 
Эдгээр нь тухайн э-мэйлийг хүлээн авах ёстой хэрэглэгчийн э-мэйл сервер хүртэл үнэн зөв дамжигдах хүртэлх бүх л мэдээллийг сүлжээний түвшин бүрд дамжуулахад маш чухал байдаг. 

## И-Мэйл илгээх процесс 
# Outlook Express, Gmail гэх мэт и-мэйл клиентүүдийн аль нэгийг ашиглан мессеж бичин илгээх товч дарсны дараа таны домайн SMTP сервертэй холбогддог.
# Таны и-мэйл клиент SMTP сервертэй холбогддог. И-мэйл клиентэд таны и-мэйл хаяг, хүлээн авагчийн и-мэйл хаяг, мессежний их бие болон ямар нэгэн нэмэлт зүйл(attachments) зэрэг орно.
# SMTP сервер нь хүлээн авагчийн и-мэйл хаягийг боловсруулдаг. Ялангуяа домайныг. Хэрвээ домайн нэр нь илгээгчийнхтэй ижил бол мессежийг POP3 эсвэл IMAP-ийн домайн руу замчилдаг. Серверүүдийн хооронд замчлал хийх шаардлагагүй. Хэрвээ домайн нэр нь өөр бол SMTP сервер нь бусад домайн сервертэй холбогдох хэрэгтэй.
# Хүлээн авагчийн серверийг олохын тулд илгээгчийн SMTP сервер DNS-тэй холбогдоно. DNS нь хүлээн авагчийн домайн нэрийг авч IP хаяг руу хөрвүүлдэг. Илгээгчийн SMTP сервер нь дан ганц домайн нэрээр зөв замчилж чадахгүй. 
# Одоо SMTP сервер нь хүлээн авагчийн IP хаягийг мэднэ. Одоо өөрийн SMTP сервертэй холбож болно. Мессеж нь хүлээн авагчдаа хүрэх хүртлээ холбогдоогүй SMTP серверүүдээр замчлагддаг.
# Хүлээн авагчийн SMTP сервер ирсэн мессежийг хайдаг. Хэрвээ хүлээн авагчийн SMTP сервер нь домайн болон хэрэглэгчийг таних юм бол POP3 эсвэл IMAP сервер нь мессежийг дамжуулдаг. Тэндээс хүлээн авагчийн и-мэйл клиент нь татаж авахыг зөвшөөрөх хүртэл Sendmail дараалалд байрлаж байна. Тэр үед хүлээн авагч мессежийг унших болно.

## Нэр томьёо 
Дараах нэр томьёо нь и-мэйл серверийн үйл ажиллагааг ойлгоход чухал ач холбогдолтой. 
* Mail User Agent (MUA) : Эцсийн хэрэглэгчтэй харилцдаг бүрэлдэхүүн хэсгийн нэг. Жишээ нь : Thunderbird, MS Outlook, Zibra Desktop, Gmail, Yahoo ….

* Mail Transfer Agent (MTA) : Илгээгчийн и-мэйл серверээс хүлээн авагчийн и-мэйл сервер хүртэлх и-мэйл дамжуулах бүх замыг хариуцна. 

* Mail Delivery Agent (MDA) : Within a destination mail server, local MTA accepts an incoming email from remote MTA. И-мэйл нь MDA-р хэрэглэгчийн и-мэйл хайрцагт хүргэгддэг.

* POP/IMAP : POP болон IMAP протоколууд нь хүлээн авагчийн серверийн и-мэйл хайрцгаас MUA-н хүлээн авагч руу и-мэйлийг дуудаж авч ирдэг.        

* Mail Exchanger Record (MX) : MX бичлэг нь и-мэйл серверт DNS-г бүртгэдэг. Энэ бичлэг нь IP хаяг руу чиглэсэн байдаг. MX бичлэгийн IP хаяг нь загвар болон хэрэгцээнээс шалтгаалан өөрчлөгддөг. 

## Нэмж унших 
https://technet.microsoft.com/en-us/library/cc780996(v=ws.10).aspxMail server role

https://en.wikipedia.org/wiki/List_of_mail_server_softwareList of mail server software

https://en.wikipedia.org/wiki/Comparison_of_mail_serversComparison of mail servers

Ангилал:Э-Мэйл
Ангилал:Сервер