ส่งอีเมลไม่ไปจะทำอย่างไร

สอบสัมภาษณ์เข้ารับราชการ
สอบสัมภาษณ์เข้ารับราชการ
23 มีนาคม 2559 อ.อนุชิต ชวนผมจัดการความรู้ส่วนบุคคล (PKM)
มี K มากมายที่ท่านฝากไว้ ก็จะค่อย ๆ ถอดบทเรียนมาแบ่งปันทีละเรื่อง
โดยท่าน share ให้ฟัง ที่ถือเป็นการถอดบทเรียน ที่เล่าให้นักศึกษาฟังได้
ประสบการณ์ที่ท่านไปรับการสัมภาษณ์เข้ารับราชการที่กรมฯ
เล่าว่ามีคำถามมากมายเกี่ยวกับทัศนคติของคนทำงาน
เช่น ถ้าเจ้านายให้ทำผิด เราจะทำผิดตามที่ถูกสั่งไหม
แต่มีคำถามสำคัญเกี่ยวกับไอทีเพียงคำถามเดียว
คือ “ถ้าทำเครื่องบริการอีเมล แล้วส่งอีเมลไม่ออกจะทำอย่างไร
ผมก็คิดว่าจะทำ check list ให้นักศึกษาได้เรียนรู้
เผื่อว่านักศึกษาต้องไปเข้ารับการสัมภาษณ์ในอนาคต
1. ตรวจยืนยันว่าปัญหานั้นเกิดขึ้นจริง ให้เห็นกับตา
2. ตรวจ email client program ติดต่อกับ email server ได้ปกติ
3. ตรวจ junk mail ใน receiver ของผู้รับว่ามีหรือไม่
4. ตรวจ port 25 + 110 หรือ service start ไว้หรือไม่
5. ตรวจ ip, dns, firewall, network, switch ว่าทำงานกันปกติ
6. ตรวจ mail log ว่ามี error ว่าอย่างไร (มีหลายแบบ)
7. ตรวจ relay sever ที่ใช้งานอยู่ ทำงานปกติ
8. ตรวจ black list ว่าติดร่างแหไปหรือไม่
9. ตรวจ script และ data เพราะ php อาจมีปัญหากับ unicode
10. ตรวจองค์ประกอบอื่น ๆ ที่เกี่ยวข้องทั้งเครือข่าย และระบบปฏิบัติการ
ตรวจพบอะไรก็แก้ไข และทดสอบใหม่จนกว่าจะส่งอีเมลได้สำเร็จ
สอดคล้องกับเพื่อนที่โรงพยาบาล สอบถามเรื่องการออกข้อสอบ
ผมก็แนะนำไปว่าไม่ต้องถามเยอะ ไม่ต้องถามลึก ๆ
หาคำถามที่ใช่สัก 2 – 3 ข้อก็รู้แล้ว
เช่น “เล่าขั้นตอนการวางเครื่องข่ายที่เคยทำมาให้ฟังหน่อย”
แต่เรื่องเครือข่ายนี่เป็นคำถามกว้างไป ตอบได้กว้าง ๆ ตามทฤษฎีได้เลย
ถ้าถามลึกเลยก็ต้องแบบที่ถาม อ.อนุชิต เรื่องส่งอีเมลไม่ออกนี่หละ
เลี้ยงส่งท่านไปรับราชการที่กรมฯ

config smtp server on win2003

smtp server
smtp server

การตั้งค่าของ smtp server บน windows server 2003

ปรับระบบ smtp server ซึ่งเป็น SMTP Virtual Server ใน IIS บน Windows 2003
1. เปิดบริการ
2. ปรับ Properties, Delivery
– First,Second,Third retry interval เป็น 1, 2 และ 3
3. เปิด firewall ของเครื่อง ยอมรับ port 25
4. เปิด firewall ขององค์กร ยอมรับ port 25
5. telnet localhost 25 ตรวจสอบว่าส่งออกหรือไม่
HELO localhost.localdomain
MAIL FROM: from_who@domain.com
RCPT TO: to_who@domain.com
DATA
— Enter message, end with “.” on a line by itself
Subject: subject goes here
— Message goes here and ends with a dot
QUIT
6. ถ้าผลการส่งบอกว่าปกติ
ให้ไปตรวจใน C:\Inetpub\mailroot\Queue ว่ามีเมลค้างหรือไม่
7. ไปตรวจใน mail box ว่าได้รับใน inbox หรือ spam box หรือไม่

เปลี่ยน sendmail เป็น postfix แก้ปัญหากรอง spam

6 ก.ค.52 หาข้อมูลเรื่องเครื่องบริการส่งอีเมลที่ทำตัวเป็นเครื่องแอบส่งสแปม (Spam) ตลอดเวลา ค้นมาตั้งแต่ช่วงบ่ายแก่ ๆ ว่า sendmail ที่ใช้อยู่ทำไมส่ง spam หรือ junk mail เยอะเหลือเกิน สามารถดูพฤติกรรมได้จาก #service sendmail status หรือ #ps -aux เมื่อเข้าไปหาข้อมูลในอินเทอร์เน็ตก็พบว่าผู้มีประสบการณ์หลายท่าน แนะนำให้ใช้ postfix แทน sendmail (MTA = Mail Transport Agents ) ซึ่ง fc4 ที่ใช้อยู่ก็ติดตั้งอยู่แล้ว เพียงแต่ไม่ได้เปิดบริการขึ้นมาใช้ เมื่อปิดบริการ sendmail และเปิดบริการ postfix ก็พบว่าใช้ส่งอีเมลได้ปกติ ส่วนการรับอีเมลก็ยังใช้ dovecot เหมือนเดิม หลังเปิดบริการด้วย postfix start แล้ว ได้ทดสอบ 4 กรณี คือ 1)ทดสอบส่งเข้า mail ตนเองก็ได้รับปกติ พบใน maillog เช่นเดิม 2)ทดสอบส่งเข้า gmail.com ก็พบว่าเข้า inbox ปกติ ไม่ไปกองอยู่ใน junk box เหมือนฉบับก่อน ๆ 3)ทดสอบส่งเข้า hotmail.com ไม่พบในที่ใดใด ยังหายจ้อยเหมือนเดิม เพราะต้อง clear เครื่องบริการให้เรียบร้อยก่อน จึงจะเข้าไปดำเนินกับ hotmail.com ตามที่เคยหารือกับทีมไอทีไว้ 4)ส่งจาก gmail.com หรือ hotmail.com ให้ผลเหมือนการใช้ sendmail คือ gmail.com เข้ามาบางฉบับ แต่จาก hotmail.com เข้าโยนกทุกฉบับ เมื่อทดสอบใช้ #tail /var/log/maillog ก็พบรายการ spam mail มีความพยายามใช้งานเครื่องบริการเมลเหมือนเดิม แต่ postfix/smtpd และ spamassassin ได้ปฏิเสธไปแล้ว
        การดำเนินการก็ใช้ chkconfig –list แต่ยังไม่พบ postfix ในรายการ จึงใช้ chkconfig –add postfix แล้ว chkconfig –level 3 sendmail off แล้ว chkconfig –level 3 postfix on ทำให้เปิดเครื่องทุกครั้ง postfix จะถูกเรียกมาประมวลผล เพราะ เลข 3 คือ Full multiuser mode สำหรับค่า config ที่แก้ไขใน /etc /postfix /main.cf เฉพาะที่สำคัญมี 4 ค่า คือ 1)myhostname =  hostname.domainname และ 2)mydomain = domainname และ 3)mydestination = $myhostname, $mydomain, localhost.$mydomain,  localhost และ 4)inet_interfaces = $myhostname, $mydomain, localhost ผลทดสอบหลัง postfix restart พบว่าอีเมลเข้ามาใน inbox ตามปกติ
แหล่งอ้างอิง
+ http://www.nmmm.nu/postfix.htm ***
+ http://www.akadia.com/services/postfix_mta.html
+ http://www.qmailrocks.org/remove_rh.htm
+ http://www.tuxweb.net/howto/mail/bsd/postfix-bsd4x.html

การปรับปรุงเครื่องบริการเมลเพื่อลดปัญหาสแปม

5 ก.ค.52 มีโอกาสตรวจสอบ Mail Server จริงจังอีกครั้ง สรุปว่าได้ดำเนินการปรับปรุงเบื้องต้น ดังนี้ 1)ตรวจสอบ /etc /mail /sendmail.mc ว่ามีนโยบายอะไรที่ตกไปจนส่ง junk mail ออกจากเครื่องบริการ เมื่อตรวจสอบ /var /log /maillog แล้วได้แก้ไขกฎหลายข้อ เช่น เพิ่ม delay_checks, relay_based_on_MX, SMART_HOST, UUCP_MAILER_MAX ลบ accept_unresolvable_domains จากนั้นก็ใช้ m4 สั่งปรับปรุงแฟ้ม sendmail.cf แล้วสั่ง #service sendmail reload และดูข้อมูลความเคลื่อนไหวของ sendmail ด้วย #tail -30 maillog 2)ทบวนการใช้คำสั่งสำหรับดูแลบริการ sendmail มีคำสั่งที่เกี่ยวข้อง ซึ่งแตกต่างกันไปตามหน้าที่ ดังนี้ 1.ตรวจว่าปัจจุบัน sendmail ทำงานอะไรบ้างด้วย #service sendmail status จะพบเลข process สามารถใช้ #cat /var /log /maillog | grep [number of process] ดูว่าข้อมูลของ process นั้นว่าทำอะไรบ้าง 2.ทดสอบส่งอีเมลด้วย echo “abc”| sendmail a@b.com 3.ทดสอบว่า imap หรือ pop3 เปิดบริการอีเมลหรือไม่ ด้วย #telnet localhost 143 หรือ 110 4.ตรวจรุ่นของ sendmail ด้วย #rpm -qa|grep sendmail 3)โปรแกรมกรอง spam 2 บริการคือ การกรองอีเมลขาเข้า inbox ใช้โปรแกรม spamassassin + bayes มี config อยู่ที่ /etc /mail /spamassassin /local.cf ซึ่งมีเว็บเพจที่ช่วยสร้างข้อกำหนด ที่  http://www.yrex.com/spam/spamconfig.php โดยกำหนดเพิ่มว่า required_score 7.5, use_bayes 1, bayes_auto_learn 1 อีกโปรแกรมคือ procmailrc ใช้สำหรับกรอง keyword ก็ยังใช้อยู่ แต่ปัจจุบัน  junk mail พัฒนาคำใหม่ทุกวัน 4)สำหรับผลการปรับปรุง Mail Server ในวันพรุ่งนี้ต้องตรวจ mail log ว่า junk mail เข้ามามากเหมือนเดิมหรือไม่
แหล่งอ้างอิง
+
http://rd.cc.psu.ac.th/content/view/107/46/
+ http://www.thaicert.org/paper/unix_linux/sendmail.php
+ http://www.arnut.com/linux/sendmail.php
+ http://www.yrex.com/spam/spamconfig.php