หน้าแรก > คุย..บริหารserver > mail server คืออะไร?

mail server คืออะไร?

เมลเซิร์ฟเวอร์ (mail server) คือ เซิร์ฟเวอร์ซึ่งให้บริการรับส่งอีเมล ตัวอย่างโปรแกรมบริการอีเมล เช่น Sendmail, qmail, Microsoft Exchange

กลไกการทำงาน

การส่งอีเมล 
เมื่อผู้ใช้เขียนอีเมลโดยใช้โปรแกรมรับส่งอีเมล เช่น Microsoft Outlook, Eudora หรือผ่านเว็บเมล เมื่อกดส่งอีเมล ไคลเอนท์จะติดต่อกับเครื่องเซิร์ฟเวอร์ โดยใช้โพรโทคอล SMTP (Simple Mail Transport Protocol) อีเมลจะถูกส่งมาเก็บยังเครื่องเมลเซิร์ฟเวอร์ จัดเก็บลงในคิว เพื่อรอการจัดส่งต่อไป การทำงานนี้อาจจะเรียกอีกอย่างว่า การรีเลย์เมล
การแลกเปลี่ยนอีเมลระหว่างเมลเซิร์ฟเวอร์ 
อีเมลที่ผู้ใช้ส่งมายังเซิร์ฟเวอร์ จะถูกจัดการโดยโปรแกรมแลกเปลี่ยนอีเมล (MTA: Mail Transport Agent) โดยอ่านที่อยู่อีเมลปลายทาง และนำโดเมนปลายทางไปตรวจสอบกับเนมเซิร์ฟเวอร์ (Name Server) เพื่อหาว่าเมลเซิร์ฟเวอร์ใดเป็นเมลเซิร์ฟเวอร์ที่ให้บริการโดเมนปลายทาง จากนั้นจะติดต่อไปยังเครื่องเมลเซิร์ฟเวอร์นั้น และส่งเมลไปยังเมลเซิร์ฟเวอร์ปลายทางโดยใช้โพรโทคอล SMTP เพื่อรอให้ผู้ใช้ปลายทางมารับเอาอีเมลฉบับนี้ไป
การรับอีเมล 
ผู้ใช้ปลายทางสามารถรับอีเมลได้โดยผ่านโปรแกรมรับส่งอีเมล หรือเว็บเมล โดยโปรแกรมจะติดต่อมายังเครื่องเมลเซิร์ฟเวอร์ แล้วส่งชื่อผู้ใช้และรหัสผ่าน เมื่อเมลเซิร์ฟเวอร์ตรวจสอบว่า ชื่อผู้ใช้และรหัสผ่านถูกต้อง ก็จะอนุญาตให้ผู้ใช้คนนั้นรับอีเมลได้ โพรโทคอลที่ใช้ในการรับอีเมลนี้ เช่น POP3 หรือ IMAP4
ตัวอย่างการติดตั้ง Mail Server บน Windows 2003 Server
บทนำ
จริง ๆ แล้วผู้เขียนไม่ได้เชี่ยวชาญเรื่องของระบบ Mail Server มากนักครับ ยิ่งบน Windows plateform ก็ยิ่งไม่ถนัดมากนัก เพราะส่วนใหญ่ผู้เขียนจะพึ่งพา Linux มากกว่า แต่ด้วยความอยากรู้ครับ ก็เลยลองเซ็ต Mail Server บน Windows 2003 Server ดู ปรากฎว่าทำงานได้ครับ ก็เลยอยากจะเอาความรู้จากที่ได้ทดลองนั้นมาแบ่งปันให้ได้รับทราบกันบน Windows 2003 Server มีโปรแกรม Mail Server มาให้แล้วยัง
บน Windows 2003 Server มีโปรแกรมที่สามารถทำงานเป็น Mail Server มาให้เกือบสมบูรณ์แล้วครับ  นั่นคือจะมี SMTP service (SMTP Virtual Server) และ POP3 Service มาให้เรียบร้อยแล้ว  นั่นก็หมายถึงว่าเราสามารถใช้โปรแกรม Mail Client อย่าง Outlook หรือโปรแกรมประเภทเดียวกันรับส่งเมล์ผ่าน Mail Server ที่ติดตั้งอยู่บน Windows 2003 Server ได้

การทำ Windows 2003 ให้เป็น Mail Server เราต้องติดตั้งโปรแกรมอะไรบ้าง
จะต้องมี Service สองอย่างคือจะต้องมี SMTP Service ที่ทำหน้าที่รับส่งเมล์ระหว่าง Mail Server ด้วยกันเองและระหว่าง Mail Server กับ Mail Client และ Service อีกอย่างคือ Service ที่ทำหน้าที่ให้เครื่อง Mail Client สามารถติดต่อกับ Mail Server ได้  ซึ่งที่นิยมกัน ก็เป็น POP3 และ IMAP4 แต่เท่าที่เห็นบน Windows 2003 Server จะมีแค่ POP3 Server

การติดตั้ง SMTP Service
สำหรับคนที่ได้ติดตั้ง IIS ไว้แล้วอาจจะมี SMTP Service (STMP Virtual Server)  ไว้แล้วครับ แต่สำหรับเครื่องที่ยังไม่ได้ติดตั้งทีก็ให้ติดตั้งดังนี้ :
1.เลือกเมนู Control Panel –> Add or Remove Programs
2.คลิ๊กปุ่ม Add/Remove  Windows Components
3.เลือกรายการ Application Server แล้วคลิ๊กปุ่ม Details
4.เลือกรายการ Internet Information Service (IIS) แล้วคลิ๊กปุ่ม Details
5.เลือกรายการที่จะติดตั้งในที่นี้คือ SMTP Service ดังรูปที่ 1
รูปที่ 1

6.หลังจากนั้นก็ให้คลี๊กปุ่ม OK ออกไป จากนั้นโปรแกรมก็จะทำการติดตั้ง SMTP Service ให้

การคอนฟิก SMTP
การคอนฟิก SMTP อาจจะมีรายละเอียดหลาย ๆ อย่าง แต่ในที่นี้ผู้เขียนจะขอกล่าวถึงเฉพาะส่วนของการอนุญาตให้ Relay ได้หรือไม่เท่านั้น  ซึ่งการกำหนดในส่วนของการ Relay ก็หมายถึงว่าจะอนุญาตให้ใครบ้างสามารถส่งเมล์ (SMTP) ผ่านเครื่อง Server เครื่องนี้ได้ โดยขั้นตอนการคอนฟิกมีดังนี้
1. จากปุ่ม Start ให้เลือกเมนู Administrative Tools –> Internet Information Service (IIS) Manager
2. ให้คลิ๊กเมาส์ขวาที่รายการ Default SMTP Virtual Server แล้วเลือกเมนู Properties
3. ให้เลือกแท็บ Access แล้วคลิ๊กที่ปุ่ม Relay ดังรูปที่ 2
รูปที่ 2

4. หลังจากนั้นก็จะได้ดังรูปที่ 3 ซึ่งเราสามารถเลือกได้ว่าจะอนุญาตเฉพาะที่มีใน list (Only the list below) หรือทั้งหมดยกเว้นใน list (All except the list below)
รูปที่ 3

5. จากรูปที่ 3 ถ้าคลิ๊กที่ปุ่ม Add ก็จะได้ดังรูปที่ 4 ซึ่งเราสามารถเลือกได้ว่าจะอนุญาตหรือจะห้ามเครื่องเป็นแบบเครื่องเดียว กลุ่ม หรือโดเมนได้
รูปที่ 4

การติดตั้ง POP3 Service
ขั้นตอนการติดตั้ง POP3 Service มีดังต่อไปนี้
1.เลือกเมนู Control Panel –> Add or Remove Programs
2.คลิ๊กปุ่ม Add/Remove  Windows Components
3.เลือกรายการ E-mail Service แล้วคลิ๊กปุ่ม Details จะได้ดังรูปที่ 5
รูปที่ 5

4. เลือกรายการ POP3 Service เพื่อติดตั้ง POP3 Server และถ้าต้องการให้สนับสนุนการจัดการผ่านเว็บได้ก็อาจจะเลือกติดตั้ง POP3 Service Web Administrator ด้วยก็ได้
5. หลังจากนั้นให้คลิ๊กปุ่ม OK เพื่อเปิดทางให้สำหรับการติดตั้งโปรแกรมเพิ่ม

การคอนฟิก POP3 Service
การคอนฟิก POP3 Service ก็จะเกี่ยวข้องกับการกำหนดชื่อโดเมน  การจัดการเกี่ยวกับเมล์ยูสเซอร์  และอื่น ๆ แต่ในที่นี้ผู้เขียนจะอธิบายในบางส่วนของการกำหนดชื่อโดเมน  และการกำหนดยูสเซอร์ที่ให้สามารถรับส่งเมล์ได้ ซึ่งมีขั้นตอนดังนี้
1.เลือกเมนู Administrative Tools –> POP3 Service
2.แล้วจะได้หน้าต่างดังรูปที่ 6 ให้คลิ๊กที่ชื่อ host (ของผู้เขียนชื่อว่า WEB) ให้มี highlight แล้วเลือกเมนู New Domain
รูปที่ 6

7. ให้ป้อนชื่อโดเมนเข้าไปซึ่งของผู้เขียนตั้งชื่อเป็น itwizard.info  ดังรูปที่ 7
รูปที่ 7

8. การตั้งชื่อตรงนี้ผู้เขียนของแบ่งเป็นสองแบบนะครับ
           8.1 แบบที่ได้เพิ่มข้อมูล Mail Exchange (MX Record)  ไว้ใน DNS Server ของโดเมนตัวเองแล้ว  เช่นสมมุติว่าชื่อ host ของ Server ที่ผู้เขียนกำลังเซ็ตอยู่ได้ประกาศไว้ในตัว DNS Server (DNS Server ตัวที่เก็บข้อมูลของโดเมน) ว่ามีชื่อเป็น mail.itwizard.info และใน DNS ตัวเดียวกันนั้นได้ใส่ข้อมูลในส่วนของ Mail Exchange (MX Record) ว่าเป็น mail.itwizard.info เอาไว้แล้ว  การใส่ชื่อในรูปที่ 7 ก็ให้ป้อนค่าเป็นชื่อโดเมนอย่างเดียว  เพราะขั้นตอนการส่งเมล์จากที่อื่น ๆ จะมีการสอบถามว่า Mail Exchange ของโดเมน itwizard.info มีชื่อที่แท้จริงว่าอะไร        
                 บางคนอาจจะสงสัยว่าถ้าใส่ชื่อเต็มเป็น mail.itwizard.info เลยไม่ได้หรือ คำตอบก็คือว่า เท่าที่ผู้เขียนได้ทดลองดู  ถ้าเราใช้ชื่อไหนเป็นเชื่อโดเมนแล้ว ชื่อนั้นเท่านั้นที่จะรับเมล์ได้  นั่นคือจากรูปที่ 7 ถ้าเราป้อนชื่อเป็น mail.itwizard.info ถ้ามีการส่งเมล์มาหา user ที่ชื่อว่า ksorn ที่อยู่บน Server เครื่องนี้ เมล์จะสามารถรับได้เฉพาะการระบุปลายทางเป็น ksorn@mail.itwizard.info  เท่านั้น  ถ้ามีการส่งจากที่อื่นโดยระบุปลายทางเป็น ksorn@itwizard.info จะไม่สามารถรับเมล์ได้  (ไม่มีการตีกลับไปยังผู้ส่งแต่ผู้รับ รับไม่ได้)
           8.2 กรณีที่ Mail Server ของเราไม่ได้มีการเพิ่มข้อมูลในส่วน Mail Exchange (MX Record) ไว้ใน DNS ของโดเมน  ก็ต้องป้อนชื่อ host ที่แท้จริงตามชื่อใน DNS นั่นคือถ้าใน DNS มีชื่อว่า mail.itwizard.info ในรูปที่ 7 ก็ต้องป้อนเป็น mail.itwizard.info

9. เมื่อป้อนชื่อโดเมนแล้วก็จะได้ผลดังรูปที่ 8 นั่นคือจะมีชื่อโดเมนปรากฎขึ้นมา
รูปที่ 8

10.ขั้นตอนต่อไปก็จะเป็นการเพิ่ม Mailbox (Add Mailbox) ซึ่งก็คือการเพิ่ม user นั่นเอง  ดังนั้นก็ให้คลิ๊กที่รายการ Add Mailbox และจะได้ดังรูปที่ 9 โดยการเพิ่ม user มีสองแบบคือ
      10.1 แบบที่มี User เดิมอยู่ในระบบอยู่แล้ว  การเพิ่ม User แบบนี้ ไม่ต้องเลือก checkbox ที่เป็น Create associated user for this mailbox
      10.2 แบบที่เป็นการเพิ่ม User ใหม่เข้าไป ก็ให้เลือกรายการ Create associated user for this mailbox พร้อมป้อน Password เข้าไปด้วย
รูปที่ 9

11.จากรูปที่ 9 เนื่องจากผู้เขียนมี user เดิมอยู่ใน Server แล้ว  จึงไม่ได้เลือกรายการ Create associated user for this mailbox และเมื่อคลิ๊กปุ่ม OK แล้วจะมีการรายงานผลของการเพิ่ม user ดังรูปที่ 10  ซึ่งเราต้องมาพิจารณาข้อความที่แจ้งมาก่อนครับ  โดยสาระสำคัญจากรูปที่ 10 มีดังนี้ :

If you are using clear text authentication:
Account name: ksorn@itwizard.info
Mail server : Web

If you are using Secure Password Authtication
Account name: ksorn
Mail server : Web

จากคำอธิบายข้างบนสรุปได้ว่า  ถ้าการติดต่อระหว่าง Mail Server กับ Mail Client (เช่น outlook) เป็นแบบ clear text authentication  การป้อน user name ในโปรแกรม outlook จะต้องป้อนเป็นชื่อเต็มคือมีทั้งชื่อ user และชื่อโดเมน  สำหรับชื่อของ Server นั้น เนื่องจากของผู้เขียนเองได้ตั้งชื่อ Server เป็น “Web” ซึ่งไม่ตรงกับใน DNS แต่ในการใช้งานจริงให้ใช้ชื่อที่ตรงกับ DNS เป็นหลักนะครับ
รูปที่ 10

อาจจะมีหลายคนที่ไม่ค่อยพอใจมากนักกับการที่จะต้องป้อนชื่อเต็ม (user + โดเมน) ในโปรแกรมประเภท outlook ตรงนี้สามารถช่วยได้ด้วยการเลือกการ Authentication เป็นแบบ Secure Password แต่ก็จะต้องเซ็ตให้ตรงกันทั้งที่ด้านของ Server และที่โปรแกรม Outlook 

การเซ็ต Mail Server ให้มีการ Authentication เป็นแบบ Secure Password
(การเซ็ตแบบนี้มีประโยชน์คือจะมีความปลอดภัยมากขึ้น และในส่วนของการป้อนชื่อ username ในโปรแกรมประเภท outlook สามารถใช้ชื่อ username เพียงอย่างเดียว)
มีขั้นตอนการเซ็ตดังต่อไปนี้
1. ย้อนไปดูรูปที่ 8 ให้คลิ๊กเมาส์ขวาที่ชื่อ Host (ในที่นี้ชื่อว่า Web) แล้วเลือกรายการ Properties ก็จะได้ดังรูปที่ 11
รูปที่ 11

2. จากรูปที่ 11 ก็ให้เลือกรายการ “Require Secure Password Authentication (SPA) for all client connection

การเซ็ตโปรแกรม MS Outlook แบบไม่ใช้ SPA และแบบใช้ SPA (สำหรับ Mail Server ที่เป็น Widows 2003 Server)
ในรูปที่ 12 เป็นการเซ็ตแบบไม่ใช้ SPA ส่วน รูปที่ 13 เป็นการใช้ SPA คือมีการเลือกรายการ Logon using Secure Password Authentication (SPA)  ความแตกต่างระหว่าง 2 แบบนี้คือ ในช่องของ User Name  แบบที่ไม่ใช้ SPA จะต้องใส่ชื่อของยูสเซอร์พร้อมชื่อโดเมน   แต่แบบที่ใช้ SPA ใส่เฉพาะชื่อยูสเซอร์

รูปที่ 12 การเซ็ตแบบไม่ใช้ SPA

รูปที่ 13 การเซ็ต MS Outlook แบบใช้ SPA (Log on using Secure Password Authentication)

การเซ็ต Mail Server ขั้นพื้นฐานบน Linux โดยใช้ Sendmail


ต่อไปนี้เป็นขั้นตอนการเซ็ต
Mail Server บน Linux โดยใช้ Sendmail (SMTP) ที่ทำหน้าที่รับส่งเมล์ และใช้ POP3 กับ IMAP4 ในการติดต่อระหว่าง Mail Client กับ Mail Server โดยมีขั้นตอนพอสรุปได้ดังนี้ :

1.ติดตั้งโปรแกรม Sendmail แล้ว Start ให้ทำงาน   และตรวจสอบว่าทำงานแล้วยังโดยคำสั่ง :

   #netstat –na |grep 25 หรือ
  
#ps –ef |grep sendmail หรือ
   telnet ที่ port 25

2.ติดตั้ง POP3 แล้ว start ให้ทำงาน  ตรวจสอบว่าทำงานแล้วยังโดยใช้คำสั่ง :
   #netstat –na | grep 110 หรือ
  
telnet ที่ port 110

3.ติดตั้ง IMAP แล้ว start ให้ทำงาน  ตรวจสอบว่าทำงานแล้วยังโดยใช้คำสั่ง :
   #netstat –na |grep 143 หรือ
   telnet ที่port 143

4.คอนฟิก Sendmail
   4.1 แก้ไขไฟล์ /etc/mail/sendmail.mc ในบรรทัดที่เขียนว่า  DAEMON_OPTIONS(‘Port=smtp,Addr=127.0.0.1, Name=MTA’) ให้เปลี่ยน 127.0.0.1 เป็น 0.0.0.0 เพื่อเปิดกว้างให้ทุกคนสามารถใช้ Sendmail (SMTP) ได้  แล้ว run macro ดังนี้:

       #make  -C  /etc/mail

   4.2 กำหนดว่าจะอนุญาตให้เครื่องไหนมาใช้ smtp บ้าง โดยให้กำหนดที่ไฟล์ /etc/mail/access ซึ่งอาจมีข้อความเป็นดังนี้:

           localhost.localdomain            RELAY
           localhost                                      RELAY
          127.0.0.1                                        RELAY

           ให้ต่อท้ายเพิ่มดังนี้เช่น
          
           southcat.net                                DISCARD
           cyberpromo.com                      REJECT 
          
202.129.18                                   RELAY

           ซึ่งก็หมายถึงเป็นการอนุญาติให้ IP Address ที่ขึ้นต้นด้วย 202.129.16 สามารถใช้ SMTP ได้ แต่ปฏิเสธเมล์ที่มีโดเมนเป็น southcat.net และ cyberrpromo.com
           จากนั้นให้แปลงข้อมูลจาก access ไปเป็น access.db ดังนี้ :

           #makemap hash access < access

   4.3 กำหนดโดเมนที่จะรับ mail ให้ใส่โดเมนของเราที่จะยอมรับเมล์ในไฟล์ /etc/mail/local-host-names  เช่น
             itwizard.info
             mydomain.com

          หรือจะใส่ค่าในไฟล์ /etc/mail/sendmail.cf
ดังนี้
          Cwlocalhost  itwizard.info, mydomain.com
          โดยให้ # หน้าบรรทัดที่มีข้อความว่า Fw /etc/mail/local-host-names เพื่อไม่ให้ไปเรียกใช้งานไฟล์ /etc/mail/local-host-names ดังนี้ :
           #Fw /etc/mail/local-host-names

5.การกำหนดขนาดในการรับส่งเมล์
ที่ sendmail จะมีไฟล์ /etc/mail/sendmail.mc ที่ใช้สำหรับสร้างมาโครให้กลายเป็น  config file ที่แท้จริงคือ /etc/mail/sendmail.cf  การกำหนดขนาดของเมล์โดยค่า Default จะเป็น 2000000 bytes ซึ่งค่านี้สามารถกำหนดได้ในไฟล์ /etc/mail/semdmail.mc ตรงค่าที่เขียนว่า:

define(‘UUCP_MAILER_MAX’, ‘2000000’)

6.Restart Sendmail อีกครั้ง

7.กรณีทำเป็น web based email
กรณีทำเป็น web based email โปรโตคอลที่จำเป็นต้องใช้ คือ SMTP แต่ก็มี Web based email บางตัวเช่น SquirrelMail ต้องใช้โปรโคคอล IMAP ด้วยโปรแกรมถึงจะทำงานได้   ดังนั้นในกรณีที่ใช้เป็น web based email อย่างเดียว โปรโตคอลไหนที่ไม่จำเป็นต้องใช้ก็ไม่ควรจะเปิดบริการครับ  

แต่มีสิ่งที่ควรพิจารณาคืออาจจะเจอปัญหากับการส่งเมล์ได้ไม่เกิน 524288 bytes ซึ่งวิธีการแก้หรือพิจารณามีสองส่วนคือ :

ส่วนที่ 1 เป็นส่วนที่เกี่ยวกับ Apache ครับ อยู่ที่ /etc/httpd/conf.d/php.conf  ตรงข้อความต่อไปนี้ :

<Files *.php>
    SetOutputFilter PHP
    SetInputFilter PHP
    LimitRequestBody 524288
</Files>

ค่าของ LimitRequestBody ค่าอาจจะเป็น 524288 นั่นคือเราจะไม่สามารถแนบไฟล์ได้เกิน ค่านี้ (กรณีใช้งานผ่านเว็บเมล์เท่านั้น) ดังนั้นถ้าต้องการให้ Attachment ได้มาก ๆ ก็ต้องเปลี่ยนเป็นค่าที่มากกว่าแล้ว restart apache ใหม่อีกครั้ง

ส่วนที่ 2(ค่า default อาจจะใช้ได้อยู่แล้ว) ก็จะเป็นส่วนไฟล์ /etc/php.ini ตรงค่าของ upload_max_filesize ก็ควรจะเท่ากับค่าของ LimitRequestBody  อย่าลืมให้ค่า file_uploads = on ด้วยนะครับ

หมายเหตุ การติดต่อระหว่าง Mail Client กับ Mail Server สามารถจะใช้ได้ทั้ง POP3 และ IMAP4 บางทีท่านอาจจะเลือกใช้ทั้งสองตัว หรือเลือกใช้ตัวใดตัวหนึ่งก็ได้ ถ้าท่านเลือกใช้ตัวใดตัวหนึ่ง ก็ควรจะติดตั้งเฉพาะตัวที่ท่านเลือกใช้เท่านั้น หรือจะปิด Service ของอีกตัวซะก็ได้

หมวดหมู่:คุย..บริหารserver
  1. ยังไม่มีความเห็น
  1. No trackbacks yet.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: