การทำ Web Mail Server ใช้เอง ตอนที่ 1

Singharat Kanjanasopon
3 min readJan 22, 2021

--

กลไกลในการทำงาน
SMTP : จะทำหน้าที่รับและส่ง Mail Server กับ SMTP ตัวถัดไป → Port 25
Software จะมีให้ใช้หลายตัว เข้าไปดูได้ในเว็บนี้ https://www.debianhelp.co.uk/tools.htm

Sentmail : จะเก็บเป็น File จะใช้กันในสมัยแรกๆจะช้า
Qmail : จะเก็บเป็นแบบ Directory จะ Set Up ยากพอสมควร
Postfix : จะเลือกได้ว่าจะเก็บเป็นแบบไหนได้ทั้ง File และ Directory ในการทดลองเราจะใช้ตัว Postfix ในการทดลอง

IMAP : จะใช้สำหรับดึงข้อมูล Mail อาจจะดึงเข้ามาที่เครื่องเราผ่านทาง Webmail ก็ได้เราจะได้ในการเรียกดูจากตัว Server

POP3 :จะใช้สำหรับดึงข้อมูล Mail การเรียกดูจะเป็นการดึงมาจาก Web Server เลย

Webmail : เราจะใช้ตัว Squirrelmail

การทดลองนี้เราจะลงบนตัว CentOS7 นะครับ

Step 1 ให้ปรับแต่งค่า Firewalled และ Hostname ในการทดลองนี้ผมจะปิดตัว Firewalld ไปก่อนนะครับ โดยไปที่
#vi /etc/selinux/config -> โดยไป SELINUX = disable ครับ

#systemctl stop firewalld
#systemctl disable firewalld

เข้าไปตั้งตัว Host กันครับ
ให้เราทำการเช็ค Hostname ปัจจุปันก่อนนะครับว่าถูกตั้งเป็นชื่ออะไรอยู่
คำสั่ง
#hostnamectl

แล้วก็เข้าไปที่
#vi /etc/hosts → Set IP เครื่องแล้ว Host ให้ตรงกัน

และทำการ Reboot 1 รอบ
#reboot

Step ต่อมาเราจะทำการติดตั้งตัว SMTP → Postfix
#yum install postfix
ลองทำการเช็คตัว Packet
#rpm -qa postfix

#cd /eic/postfix
#vi /main.cf → ให้เข้าไปแก้ไขตามด้านล่าง

hostname = ldap.mailserver.net
mydomain = mailserver.net
inet_interface = all
#inet_interface = localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetwork = 127.0.0.0/8, 192.168.10.0/24
home_mailbox = Maildir/
smtipd_banner = $myhostname ESMTP

#systemctl restart postfix
#systemctl enable postfix
#netstat -tuanp | grep 25

ตอนนี้เราได้ติดตั้ง Mail server เรียบร้อยแล้ว

เราจะมาทดสอบส่ง Mail กันดู
ทำการ Add User
#adduser usera

เรื่องที่ต้องรู้ก่อน
1xx : การ Invite
2xx : ตกลง
3xx : การรอคอย Input
4xx : Client error
5xx : Server error

มาทดสอบใช้กัน โดยใช้คำสั่ง
#telnet localhost 25 → ถ้าทำงานจริงๆ localhost คือ IP จริงหรือชื่อเครื่องของ Mail server

คำสั่งที่ใช้ส่ง Email คือ
mail from: usera@mailserver.net → คนส่ง
rcpt tp: usera@mailserver.net →คนรับ
Data → คือคำสั่งที่เราจะส่งข้อมูลไป
Test Mail Server
Hello
. → คือข้อความที่เราส่งไปเมื่อเจอ . จะหยุดออกมา
quit → ออกจากการส่ง Mail

เมื่อเราทำการส่งเมล์เรียบร้อยแล้ว เราลองเข้าไปดูตัว mail กันต่อปกติเมล์จะเก็บอยู่ที่
#cd /home/usera/
#ls

เราลอง cd เข้าไป
#cd Maildir
#ls

new: เมล์ที่เข้ามาใหม่
cur: เมล์ที่เราอ่านเรียบร้อยแล้ว
tmp: เมล์ที่เราลบ

#cd new
#ls
#cat 1611327948.Vfd00I1000201M367228.ldap.mailserver.net

เมล์ที่เราได้ทำการส่ง

ในกรณีที่ต้องการดูว่ามีเมล์ค้างอยู่ไหมให้ใช้คำสั่ง
#mailq

ในกรณีที่เมล์ค้าง แล้วต้องการลบจะใช้คำสั่ง
#postsuper -d ALL

--

--

Singharat Kanjanasopon

Certificate: Cisco: CCNA // CompTIA: Security+, Pentest+ // Microtik: MTCNA, MTCTCE, MTCSE, MTCRE //