คุณเรย์ครับ
การที่ opentle.org ส่ง email ออกมาแบบนี้ ไม่จัดเป็นพวกเดียวกับ junk mail ครับ
เทคนิคของ postfix นั้น จัดเป็น "เทคนิคเฉพาะตัว" ครับ ตามที่ผมอ้างถึงเอกสารของเวปไซท์ของ postfix โดยตรง หน้าเดียวกันนั่นเลยครับ
ซึ่ง ตามเอกสารเขาก็บอกชัดเจนว่า "เทคนิค" ของเขา ไม่ได้มีการระบุใน rfc ครับ (เขาเรียกเทคนิคของตัวเองว่า "Our technique" ด้วยนะครับ)
Refer ถึง http://www.faqs.org/rfcs/rfc2505.html (RFC 2505 - Anti-Spam Recommendations for SMTP MTAs)
และยิ่งดูใน rfc821 Refer ถึง http://www.faqs.org/rfcs/rfc821.html (RFC 821 - Simple Mail Transfer Protocol)
ก็ยิ่งเห็นได้เลยว่า ที่จริงแล้ว postfix นั้น Over standard (ไม่ใช่ Double standard นะครับ) ไม่ใช่ opentle.org ที่ Low standard
อันนี้ ผมกล่าวด้วย "ความรู้" นะครับ ไม่ใช่ความคิดเห็น
rfc821 ถูกร่างขึ้นโดย Jonathan B. Postel ในเดือนสิงหาคม 2525
เป็นปีที่ช่วงนั้นเรื่อง email protocol กำลังมีหลายตัวและกำลังแย่งความนิยมกันขึ้นเป็น Standard
ช่วงนั้นผมยังเขียนโปรแกรมด้วย Assembly, C และ Pascal อยู่ เพราะ Windows ยังไม่เป็นโปรเจ็คเลยด้วยซ้ำ
M$ ยังทำออกมาแค่ DOS 3.3 อยู่
เมื่อ SMTP ประกาศออกมา (สมัยนั้นผมต้องหมุนโทรศัพท์ด้วยโมเด็ม 2400 bps ไปยัง
BBS ในออสเตรเสียหรือสิงคโปร์เอา ยุคนั้นหลักๆ ในบ้านเราก็มีแค่ FTSN BBS ของคุณไพศาลกับของด็อกเตอร์โจที่นิยมกัน ใช้ RemoteAccess บริการ mail ผมใช้ Bluewave ในการอ่าน/ตอบ mail แบบ Offline เพื่อประหยัดค่า On-line
ไม่งั้นกระเป๋าฉีกแน่ - Refer ถึง http://www.snowcave.com/bluewave.html)
ผมก็เริ่มเขียน Overlay รองรับตามมาตั้งแต่ตอนนั้น จึงทำให้ผมเข้าใจพัฒนาการของ protocol ครับ
(ผมเขียน SMTP&POP Server ให้องค์กรเอกชนมาทั้งสิ้น 4 องค์กร ก่อน Linux จะเกิดออกมา
บน DOS4GW 1 ตัว, UNIX 1 ตัวและ Solaris 2 ตัวครับ)
ก่อนนั้น พวกเรายังต้อง Manual log-on ดังนั้น คนช่วงนั้นจะสามารถ log-on SMTP ได้ด้วยมือ
แม้ปัจจุบันนี้ SMTP ก็ยังคงสามารถใช้ telnet เพื่อส่ง email ได้ ถ้าทำไม่ได้ ก็ผิด Standard แน่นอนครับ
จาก rfc821 คุณจะพบ Command บังคับตาม Protocol ซึ่งมีอยู่ไม่กี่ตัวเท่านั้นครับ
และถึงแม้ใน rfc2505 ซึ่งเพิ่งร่างเมื่อ 6 ปีที่แล้ว คุณก็จะพบได้ว่า ไม่มีลักษณะของการ Verify แบบ postfix เลย
เพราะการ Verify แบบเทคนิคของ postfix เอง ขัดแย้งกับ rfc821 นั่นเอง
postfix จึงต้องเปิดช่องไว้ให้ทำ white lists ได้นั่นเอง
postfix ถือนโยบาย "ปลอดภัยไว้ก่อน" ที่หลุดไป ไปตามเก็บเอาเองทีหลังครับ
postfix ถือนโยบาย ปรับแต่งง่าย ติดตั้งแล้วใช้ได้เลย
แต่... sendmail ที่จริงแล้ว ทำได้อย่าง postfix ทำได้ทั้งหมด (ทำได้มากกว่าด้วยซ้ำ...ถ้าขยัน ความนิยมจึงยังสูงกว่า postfix)
เพียงแต่ default configuration ของ sendmail จะยึดเอา rfc821 เป็นหลัก
Default configuration ในเวอร์ชั่นปัจจุบันเอา rfc2505 เข้าไปด้วยนิดหน่อย แต่ถ้าอยากได้มากกว่านั้น ก็ปรับแต่ง script เอาเอง
และเพราะต้องปรับแต่งเอาเอง ทำให้ยากต่อการทำความเข้าใจของผู้ดูแลระบบทั้งหลายและยังเสียเวลาด้วยนั่นเอง
จุดนี้คือจุดโฟกัสของ postfix ครับ
ผมจะขอขยายความให้เข้าใจมากขึ้นนะครับ ว่าทำไมเทคนิคของ postfix ยังไงๆ ไม่ได้รับการบรรจุเข้า rfc แน่นอน
เพราะเทคนิคนี้ ยกตัวอย่างเช่น ถ้า opentle.org เปิด SMTP ให้ postfix จาก Server ของคุณเข้าไป Verify
Sender Address ได้ ก็เท่ากับว่า opentle.org จะเป็น Relay ได้ทันทีนั่นเองครับ
ซึ่งใน rfc2505 นั่นแหละ ที่กำหนดตรงนี้ไว้ด้วยคำว่า "MUST" เลยครับ
ถ้า Server คุณเปิด port 25 ให้คนนอก Intranet ของคุณสามารถเข้า Connect ได้
Server ของคุณก็จะถูกยืมไว้ใช้กระจาย Spam mail ได้นั่นเอง
ดังนั้น rfc2505 จึงระบุให้ SMTP Server ไม่ตอบสนองต่อการร้องขอ Connection จาก Internet หรือ
จาก IP ที่ root ไม่ได้ Allow ไว้นั่นเอง
Server บางเครื่อง ที่ใช้ SMTP Server application รุ่นเก่า (ตาม rfc820 อย่างเดียว) จึง
กลายเป็น Server ที่ช่วยกระจายตัวให้พวก Junk mail และ Spam mail ได้
ยกตัวอย่างคือ หาก Server คุณเปิด SMTP ให้รับ Connect จากภายนอกได้
ผมก็ Connect ไปยัง Server คุณ (ด้วย telnet แล้วพิมพ์มือเปล่าก็ยังได้นะครับ) แล้วส่งคำสั่ง
MAIL FROM: root@ชื่อเซิร์ฟเวอร์คุณ
RCPT TO: ห่างว่าวเลย จะกระจายไปไหนก็ร่ายไป
RCPT TO: เผื่อไม่พอ เอาอีกก็ได้ ได้หลายทีเลย ไม่รู้จบ
DATA แล้ว Enter
แล้วก็ร่ายไปสิ... ข้อความอะไรก็ว่าไป
ถ้าจะมี Attach ก็ใช้โปรแกรม Netsend เข้ารหัส uuencode เสียก่อน (คน BBS จะรู้ทันทีว่า Netsend คืออะไร)
เข้ารหัสแล้วมันก็จะกลายเป็น Ascii ที่ไม่เกินตัวอักษรปกติจะพิมพ์ได้ (#30 ถึง #126 นั่นเอง)
เมื่อจบที่ต้องการแล้ว ก็กด Enter 2 ที
เท่านี้... Server ของคุณก็จะจัดการช่วยส่ง email นี้ไปยังตามที่ผมระบุใน RCPT TO: ทันที...
และถ้าคุณยังไม่ปิด Port 25 อีก... ในที่สุด Domain ของคุณก็จะโดน Black Lists ไงครับ
แจ่มเลยไหมครับ... ดังนั้น... เทคนิคนี้ของ postfix... ขัดแย้งกับ rfc ทั้ง 2 ฉบับในบางกรณี
และไม่ Success ดีกับ Server ที่ป้องกันตรงจุดนี้แล้ว (เขาไม่ยอมให้คุณไป Connect Port 25 เขาได้พร่ำเพรื่อหรอกครับ)
แต่จะใช้ได้ดีเลยกับ Server ที่ตรงตาม rfc821 แท้ๆ ครับ
และ Server ตัวไหนที่ postfix สามารถ Connect SMTP ไปใช้คำสั่ง VRFY ได้ ก็ *มีโอกาส* กลายเป็น Relay ให้พวก Spam ได้
นอกจากจะปรับแต่ง Script เอง (กรณีใช้ sendmail สามารถทำได้ ที่ให้ยอมรับการติดต่อนอก Intranet และยอมทำตามคำสั่ง
แต่คำสั่ง VRFY กับ QUIT เท่านั้น) หรือแก้ไข Source code แล้ว Compile เอง
หรือเขียน SMTP Server เอง หรือตัว postfix เอง (แหม... ก็รองรับเทคนิคตัวเอง ก็ต้องทำได้สิ)
สำหรับเรื่อง "แววก้าวหน้า"... ขอบคุณครับ
ปัจจุบันผมก้าวหน้ามากอยู่แล้ว มีกิจการของตัวเอง จนอเมริกันยังต้องจ้างผม
ผมมีค่าสมองที่อเมริกันยอมจ่ายให้ได้ถึงวันละ 625 $US
และเรื่องน้ำใจ ผมมีให้เพื่อน พี่ น้อง คนไทยทุกคนมาตั้งแต่ยุค BBS แล้วครับ ในนามปากกาว่า "คุณฉุย"
ผมจึงไม่เคืองไม่โกรธคุณเลย เพราะผมเคยเจอแบบนี้มาก่อนแล้วพอสมควร (เฉลี่ยปีละครั้ง)
สมัยก่อน วัยยังน้อย เลือดมันยังแรง ก็มีโทสะ
แต่เดี๋ยวนี้ ไม่มีแล้วครับ
ถ้าผมท้อแท้... ถอดใจไป... แล้วคนรุ่นหลัง... จะเหลือใครช่วยถ่ายทอดความรู้เหล่านี้ที่ไม่มีในตำราให้เขาเล่าครับ
แล้วประเทศชาติจะไม่แย่หรือครับ ต้องนั่งรอต่างชาติเขียนโปรแกรมมาให้ใช้เรื่อยไปงั้นหรือครับ
ถ้าผมไม่ติดงานและกิจการของตนเอง รวมทั้งสังขารที่ไม่อาจอึดเขียนโปรแกรมไม่หลับไม่นอนเป็นสัปดาห์ๆ ได้อย่างเมื่อก่อน
ผมก็คงไฟแรงพอที่จะร่วมด้วยช่วยพัฒนากับทีมเขาแล้วล่ะครับ
แต่เดี๋ยวนี้ ผมกลายเป็นนักธุรกิจไป 30% แล้ว
จึงทำได้แค่เท่าที่เห็นควรแก่โอกาสและเวลาจะอำนวยครับ
อนึ่ง... ผมอยากให้คุณย้อนไปนิดหนึ่ง... คราวที่แล้วที่ผมตอบคุณตอนท้าย...
ผมชี้ให้เห็นว่า... คุณต่างหากเล่าครับ ที่ได้ด่วนตัดสินผมไปแล้ว... ว่าผมยืนอยู่แค่หลังบ้าน...
วันนี้ผมชี้แจงให้คุณทราบ... ที่จริงคิดว่าคุณน่าจะเดาออกไปแล้ว
ว่าผมทราบแล้ว log ที่คุณ post มา มันก็ชี้ชัดอยู่แล้ว ว่ามาจาก postfix
ดังนั้น แทนที่ผมจะกล่าวอะไรให้เคืองกัน จึงพยายามอย่างมาก ที่จะใช้คำว่า...
"ผมว่าคุณเข้าใจผิด/ไม่ถูกต้องแล้วล่ะครับ"
แทนที่จะบอกเลยว่า.... "คุณไม่รู้" หรือ "คุณผิด" หรืออะไรๆ ที่มันตรงๆ ทื่อๆ .... ซึ่งมันอ่านดูแย่กว่า...
(ที่จริง ผมเพิ่งคิดได้ว่าน่าจะใช้คำว่า... "เข้าใจคลาดเคลื่อน"... คงจะดีกว่านี้...)
ถ้าย้อนไปอ่านทบทวนดู จะเข้าใจได้เลย ผมพยายามที่จะบอกแบบนุ่มนวลละเอียดพอสมควร
ไม่ให้เข้าใจกันเหมือนว่า เกทับบลัฟแหลก
ผมก็ไม่ทราบว่าคุณไปขุ่นเคืองใครมาหรือเปล่านะครับ
แต่อาจจะเป็นเพราะ ผมผสมเรื่องการเหน็บแนม M$ เข้าไปด้วย อันนั้นต้องขอโทษจริงๆ
(หมั่นไส้เขามาตั้งแต่ DOS แล้วครับ คนรุ่นผม เขียน DOS ใช้กันเองได้สบายๆ แต่ Marketing ไม่เอาอ่าว เลยหมั่นไส้สะสมมาตลอด)
แล้วก็พยายามอธิบายอย่างละเอียด ดังเช่นที่เพื่อนๆ พี่ๆ น้องๆ ในนี้หรือที่ไหนๆ เคยอ่านข้อความสไตล์ของผมมาแล้ว
สุดท้าย... ผมเป็นฝ่ายยก rfc มาให้คุณอ่านแล้วนะครับ และก็น่าจะยืนยันได้ด้วยที่ผมอธิบายลงลึกถึงเทคนิค
และขั้นตอนทาง Protocol ที่สามารถทำได้ด้วยมือเลย... ว่า... ผม... คือคนที่รู้เรื่อง... หรือเปล่า?
ผมไม่รู้ ไม่เก่งไปเสียทุกเรื่องดอกครับ แต่เรื่องไหนรู้ ผมเอื้อเฟื้อหมดเปลือกกับทุกๆ คนครับ
มีอะไร ถามได้ครับ ยินดีตอบ (ตามที่เวลาอำนวยนะครับ เวลามาก ตอบได้ยาว เวลาน้อยตอบช้าและอาจสั้น)
เรื่อง SMTP กับ POP นี่ ไม่ต้องห่วงครับ ผมไม่ได้ยืนอยู่หลังบ้าน แต่ลอยอยู่บนฟ้าก้มลงมองดูบ้านเลยล่ะครับ
บอกได้จนถึงขั้นเขียน SMTP และ POP Server ใช้เองได้เลยล่ะ (แต่ต้องเขียนโปรแกรมเป็นมาอยู่แล้วนะ)
สุดท้าย... ขอบคุณครับ ที่แนะนำหนังสือให้ผมอ่าน
ผมจะไปหาซื้อมาอ่านดูครับ...


Posts: 450
Joined: 10-12-2004