รับทําเว็บไซต์ รับทําseo
 
รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

Linux Server (CentOS) : เมล์เซิร์ฟเวอร์ กับคอนฟิก postfix เบื้องต้น

    บทความนี้ผมขออธิบายการคอนฟิก postfix เบื้องต้นบน CentOS 6 โดยเริ่มจากคอนฟิกหลังจากการติดตั้ง CentOS 6 เสร็จใหม่ๆ ยังไม่มีการ update โปรแกรมใดๆ ทั้งสิ้น

     

    ทดสอบบน CentOS 6.3 (x86_64) ที่ติดตั้งแบบ Minimal + Base 

     

    โดยดีฟอลต์ CentOS 6 จะติดตั้ง postfix เป็นเมล์เซิร์ฟเวอร์

    [root@cent6 ~]# rpm -qa | grep postfix
    postfix-2.6.6-2.2.el6_1.x86_64
    
    

    แก้ไขคอนฟิกพื้นฐานของ postfix

    ไฟล์คอนฟิกหลักของ postfix คือไฟล์ /etc/postfix/main.cf

    หลังจากการแก้ไขคอนฟิก ต้องรีสตาร์ตเซอร์วิส postfix เพื่อให้คอนฟิกใหม่มีผล

    [root@cent6 ~]# service postfix restart
    Shutting down postfix:                     [ OK ]
    Starting postfix:                          [ OK ]

     

    ใช้คำสั่ง netstat -an เพื่อดูการเปิดพอร์ต SMTP (TCP 25) ของ postfix จะเห็นว่า ดีฟอลต์คอนฟิกจากการติดตั้ง รับเมล์เฉพาะจากเครื่องเซิร์ฟเวอร์เองเท่านั้น (localhost) ไม่สามารถรับเมล์จากเครื่องอื่น หรือเครื่องอื่นไม่สามารถส่งเมล์เข้าเซิร์ฟเวอร์เครื่องนี้ได้

    [root@cent6 ~]# netstat -an | grep 25
    tcp    0  0   127.0.0.1:25   0.0.0.0:*      LISTEN
    tcp    0  0   ::1:25         :::*           LISTEN
    
    

    แก้ไขคอนฟิกเพื่อรองรับเมล์จากเครื่องอื่นที่ไม่ใช่ localhost (127.0.0.1) ได้

    [root@cent6 ~]# cd /etc/postfix/
    [root@cent6 postfix]# vi main.cf
    ...
    #inet_interfaces = localhost
    inet_interfaces = all

     

    เมื่อเปิดให้ส่งเมล์เข้ามาจากเครื่องอื่นแล้ว โดยดีฟอลต์ postfix จะสามารถรับเมล์ที่ส่งจากเครื่องที่อยู่ใน subnet เดียวกันกับ ip ของเซิร์ฟเวอร์เท่านั้น

    หากต้องแก้ไขคอนฟิกว่าสามารถรับเมล์ที่ส่งมาจากเครื่องที่อยู่ใน subnet ไหนได้บ้าง เช่นอนุญาตให้รับเมล์จาก subnet 192.168.2.0/24 และ 192.168.3.0/24 เพิ่มเติม

    #mynetworks_style = class
    #mynetworks_style = subnet
    #mynetworks_style = host
    mynetworks_style = subnet
    #mynetworks = 168.100.189.0/28, 127.0.0.0/8
    #mynetworks = $config_directory/mynetworks
    #mynetworks = hash:/etc/postfix/network_table
    mynetworks = 192.168.2.0/24, 192.168.3.0/24, 127.0.0.0/8

     

    คอนฟิกชื่อโดเมนของเมล์ที่จะรับว่าเป็นของเครื่องเอง ไม่ต้องส่งต่อไปยัง เมล์เซิร์ฟเวอร์เครื่องอื่นต่อไป

    #mydestination = $myhostname, localhost.$mydomain, localhost
    #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
    # mail.$mydomain, www.$mydomain, ftp.$mydomain
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

     

    กำหนดว่าเมล์ที่ส่งออกจากเครื่องนี้ จะมีอีเมล์โดเมนเป็นชื่ออะไร

    #myorigin = $myhostname
    #myorigin = $mydomain
    myorigin = $mydomain

     

    หากต้องการแก้ไขคอนฟิกให้เก็บเมล์ไว้แบบ Maildir ใน home ของ user ต้องคอนฟิกให้สอดคล้องกับโปรแกรมอ่านเมล์ ที่เราจะคอนฟิกต่อไปเช่น dovecot

    คอนฟิกดีฟอลต์ คือ Mailbox หมายถึงเก็บไฟล์ mailbox ของ user ในรูปแบบ /var/spool/mail/<username>

    แนะนำให้คอนฟิกเป็นแบบ Maildir/

    #home_mailbox = Mailbox
    #home_mailbox = Maildir/
    home_mailbox = Maildir/

     

    รีสตาร์ตเซอร์วิส postfix หลังการแก้ไขคอนฟิก

    [root@cent6 ~]# service postfix restart
    Shutting down postfix:              [ OK ]
    Starting postfix:                   [ OK ]

     

    ใช้คำสั่ง netstat -an ดูพอร์ต 25 หลังแก้ไขคอนฟิก inet_interfaces

    root@cent6 ~]# netstat -an | grep 25
    tcp   0  0   0.0.0.0:25   0.0.0.0:*   LISTEN
    tcp   0  0   :::25        :::*        LISTEN
บทความที่น่าสนใจ

บทความ ล่าสุด

บทความ ความรู้ด้านไอที, คอมพิวเตอร์ Techonlogy, Gadget, ความรู้เกี่ยวกับคอมพิวเตอร์ กับทาง SoftMelt.com