270 likes | 402 Views
Part 3 E-Mail transfer system. โครงสร้างพื้นฐานของระบบอีเมล. เครื่องผู้ส่ง. นาย ก. MUA ของนาย ก. MTA ของนาย ก. MTA. LDA. mailbox ของนาย ข. notifier ของนาย ข. MUA ของนาย ข. เครื่องผู้รับ. MUA – Mail User Agent MTA – Mail Transfer Agent LDA – Local Delivery Agent. นาย ข.
E N D
โครงสร้างพื้นฐานของระบบอีเมลโครงสร้างพื้นฐานของระบบอีเมล เครื่องผู้ส่ง นาย ก. MUA ของนาย ก. MTA ของนาย ก. MTA LDA mailbox ของนาย ข. notifier ของนาย ข. MUA ของนาย ข. เครื่องผู้รับ MUA – Mail User Agent MTA – Mail Transfer Agent LDA – Local Delivery Agent นาย ข.
โปรโตคอลที่เกี่ยวข้องโปรโตคอลที่เกี่ยวข้อง • Simple Mail Transfer Protocol (SMTP) • รับส่งเมล • Post Office Protocol (POP) • อ่านเมลแบบออฟไลน์ • Internet Message Access Protocol (IMAP) • อ่านเมลแบบออนไลน์
สถานการณ์ตัวอย่าง • จุดมุ่งหมาย • ติดตั้งระบบเมลภายในองค์กรขนาดใหญ่ • ให้บริการรับส่งเมลผ่านเว็บเบราเซอร์ • ค้นหารายละเอียดของบัญชีผู้ใช้จาก LDAP ซึ่งสามารถใช้เข้าสู่ระบบได้ทั้งยูนิกส์และวินโดส์
ซอฟต์แวร์ที่เกี่ยวข้องซอฟต์แวร์ที่เกี่ยวข้อง • LDAP • OpenLDAP • SMTP • Sendmail • Postfix • IMAP • Dovecot IMAP • Cyrus IMAP • Webmail • Squirrelmail • IMP
แผนภูมิต้นไม้แบบย่อ c=TH o=Traincorp1 cn=Manager ou=People uid=usera uid=userb
รายละเอียดบัญชีผู้ใช้รายละเอียดบัญชีผู้ใช้ • uid=usera,ou=People,o=Traincorp1,c=TH • ค่าที่สำคัญ • uid - ชื่อบัญชี • userPassword - รหัสผ่าน • cn - ชื่อเต็ม • givenName - ชื่อในสมุดที่อยู่ • sn - นามสกุลในสมุดที่อยู่ • mail - เมลหลัก • gecos - รายละเอียด (ชื่อเต็ม ห้อง เบอร์โทรศัพท์) • telephoneNumber- เบอร์โทรศัพท์ • roomNumber- ห้อง
สร้างบัญชีผู้ใช้ใหม่ • สร้างไฟล์ ssy.ldif dn: uid=ssy,ou=People,o=Traincorp1,c=TH uid: ssy cn: Somsak Sriprayoonsakul telephoneNumber: 0-2942-8555 ext. 1416 roomNumber: HPCNC 4th Floor givenName: Somsak sn: Sriprayoonsakul mail: ssy@samsoft.cpe.ku.ac.th objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword:: e2NyeXB0fSQxJEpkMXkyVWFiJEs2V0ZvYzlxOTl0T2pzQlBUMFNUci4= shadowLastChange: 11915 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 507 gidNumber: 100 homeDirectory: /home/ssy gecos: Somsak Sriprayoonsakul,HPCNC 4th Floor,0-2942-8555 ext. 1416 • สั่ง ldapadd • ldapadd -x -W -D "cn=Manager,o=Traincorp1,c=TH" -f new_user.ldif
ปฏิบัติการ 1: เตรียมบัญชีผู้ใช้ใน LDAP • สร้างบัญชีผู้ใช้ • usera userb และ userc • ลบบัญชีผู้ใช้ • userb
Sendmail SMTP Server • Sendmail http://www.sendmail.org/ • ได้รับความนิยมสูง • ใช้งานกันอย่างแพร่หลายมากที่สุด • การปรับแต่งค่อนข้างยาก • ได้รับการติดตั้งมาพร้อมๆกับ Red Hat Enterprise Linux 4 อยู่แล้ว
การคอนฟิก Sendmail เบื้องต้น • โดยปกติแล้ว Sendmail จะได้รับการติดตั้งให้เป็น default MTA บน Linux ตระกูล Red Hat Linux ทั้งหมด • ค่าปริยายจะไม่อณุญาตให้ server ภายนอกส่งเมล์มาที่เครื่องตัวเองได้เลย • การปรับแก้ • แก้ไข /etc/mail/sendmail.mc ให้อณุญาตให้รับเมล์จากภายนอกได้ • แก้ไข security level ให้อณุญาตให้ใช้งานพอร์ต 25 ได้
ปรับแก้คอนฟิกของ sendmail ให้อณุญาตการรับเมล์จากภายนอก • แก้ไขไฟล์ /etc/mail/sendmail.mc โดยแก้ไขบรรทัด DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl • ให้เป็น DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl • สร้างคอนฟิกไฟล์หลักของ sendmail ใหม่ make -C /etc/mail • restart sendmail service • service sendmail restart
ปฏิบัติการ 2: ติดตั้ง SMTP • ปรับแต่ง sendmail ให้สามารถใช้งานได้ • แก้ให้รับเมลจากเครื่องอื่นได้ • ทดสอบรับส่งเมล โดยใช้ mail client เช่น thunderbird หรือ mozilla mail โดยใช้บัญชีผู้ใช้ที่อยู่ในระบบ ldap • ภายในเครื่อง • ระหว่างเครื่อง
Dovecot IMAP • Dovecot IMAP • http://dovecot.org/ • ติดตั้งง่าย • ใช้งานกว้างขวาง • มีความปลอดภัยสูง • ใช้งานได้ทั้งในระบบขนาดเล็กไปจนถึงระบบใหญ่ • ได้รับการติดตั้งมาพร้อมๆกับ Red Hat Enterprise Linux 4 อยู่แล้ว
การทำงานของ Dovecot IMAP clients imapd authdaemon slapd Maildir
เปิดการทำงานของ Dovecot IMAP • เปิดทันที • service dovecot start • เปิดถาวร • chkconfig dovecot on • หากต้องการให้ใช้งาน imap หรือ pop ได้จากภายนอก จะต้องเปิดพอร์ท 110 และ 220 ที่ไฟร์วอลล์ด้วย
ปฏิบัติการ 3: เปิดการทำงานของ Dovecot • ทดลองอ่านเมลด้วย Mozilla โดย connect มาที่ Dovecot โดยใช้ user ที่อยู่บนระบบ ldap
Webmail • Squirrelmail • http://www.squirrelmail.org/ • ขนาดเล็ก เรียบง่าย • สนับสนุนการค้นหาชื่อผู้ใช้จากระบบ LDAP • ติดตั้งมาพร้อมๆกับ Red Hat Enterprise Linux 4 • สามารถเข้าใช้งานได้โดยทันที โดยเข้าใช้งานที่หน้าเวป http://<ชื่อเครื่อง>/webmail • ใช้งาน IMAP Server ในการอ่านเมล์
โครงสร้างการทำงาน users PHP IMAP authdaemon SquirrelMail slapd
คอนฟิกให้ squirrelmail search address จาก ldap ได้ • SquirrelMail บน RHEL4 สนับสนุนการค้นหาที่อยู่ AddressBook จาก LDAP ได้อยู่แล้ว แต่ต้องคอนฟิกเพิ่มเติมเพื่อบอกตำแหน่งของ LDAP Server เท่านั้น • แก้ไขไฟล์ /etc/squirrrelmail/config_local.php และเพิ่มคอนฟิกดังนี้ $ldap_server[0] = Array( 'host' => ‘localhost', 'name' => 'main ldap server', 'base' => 'ou=People,o=Traincorp1,c=TH' );
การค้นหา E-mail ผู้ใช้จาก Address Book • เลือก Addresses ในหน้า Compose
การค้นหา E-mail ผู้ใช้จาก Address Book
สรุป • ระบบ E-mail Transfer ประกอบไปด้วยหลายส่วน • MTA - Sendmail • รับส่งเมล์ และจัดเก็บเมล์ • POP/IMAP - Dovecot • ใช้สำหรับให้ e-mail client หรือ web-base e-mail อ่าน e-mail • Web-base e-mail - SquirrelMail • Web-base e-mail สำหรับองค์กร
ปฏิบัติการ 4: SquirrelMail • ปรับแต่ง /etc/squirrelmail/config_local.php ให้สนับสนุนการค้นหารายชื่อจาก LDAP • ทดสอบผลการคอนฟิก โดยทดลองค้นหา e-mail address จากชื่อผู้ใช้ใน LDAP • ทดลองส่ง E-mail ถึงผู้ใช้คนนั้น