อะไรคือ SMTPUTF8 และ การตั้งค่าใน Postfix/Exchange Server เพื่อการรองรับ
SMTPUTF-8 (SMTP Extension for Internationalized Email) เป็นส่วนขยายของโปรโตคอล Simple Mail Transfer Protocol (SMTP) ที่อนุญาตให้ส่งและรับอีเมลที่มีเนื้อหาหรือที่อยู่ผู้ส่งและผู้รับเป็นอักขระหรือตัวอักษรที่อยู่นอกชุดอักขระ ASCII มาตรฐาน แบบเดิมที่เราใช้กัน หรือพูดง่ายๆ ก็คือ ชื่ออีเมล์อาจจะเป็นภาษาไทย หรือ ภาษาอื่นใดได้ ซึ่งแต่เดิมนั้น การสนับสนุนภาษาท้องถิ่นนอกเหนือจากภาษาอังกฤษนั้น จะทำได้เฉพาะในเนื้อหาอีเมล์เท่านั้น
คุณสมบัติหลักของ SMTPUTF-8
- รองรับตัวอักษรหลากหลายภาษา: ช่วยให้อีเมล และ ที่อยู่อีเมล์สามารถใช้อักขระจากภาษาต่างๆ ได้ รวมถึงการใช้อักษรที่ไม่ใช่ภาษาอังกฤษ
- ส่งและรับอีเมลที่มีเนื้อหาหลากหลาย: สามารถส่งอีเมลที่มีเนื้อหาเป็น UTF-8 ได้ ซึ่งรวมถึงที่อยู่ผู้ส่งและผู้รับ
- การใช้ชื่ออีเมล์: ที่อยู่อีเมลสามารถมีตัวอักษรที่อยู่ในรูปแบบ UTF-8 ได้ ซึ่งช่วยให้สามารถใช้อักขระในภาษาต่างๆ ในที่อยู่อีเมล
- ตัวอย่างการใช้งาน: หากมีการส่งอีเมลไปยังที่อยู่เช่น “ชื่อผู้ใช้@โดเมน.com” ที่มีตัวอักษรภาษาไทยหรือภาษาอื่นๆ จะต้องใช้ SMTPUTF-8 เพื่อรองรับการส่งอีเมลนี้อย่างถูกต้อง
SMTPUTF-8 จึงมีบทบาทสำคัญในการทำให้อีเมลเป็นเครื่องมือสื่อสารที่ยืดหยุ่นและรองรับหลายภาษาได้มากขึ้น
การใช้งานระบบ SMTPUTF-8 ยังคงอยู่ในระหว่างการนำไปใช้งานและมีการใช้งานที่กว้างขวางขึ้นในช่วงที่ผ่านมาถึงแม้จะไม่ได้อยู่ในวงกว้างมากนัก SMTPUTF-8 จะเป็นมาตรฐานที่สำคัญและจำเป็นสำหรับการรองรับอักขระที่ไม่ใช่ภาษาอังกฤษ แต่การนำมาใช้งานในระดับแพร่หลายยังคงมีข้อจำกัดบางประการ เนื่องจาก:
- ความเข้ากันได้กับระบบเก่า: องค์กรและผู้ให้บริการอีเมลหลายแห่งยังคงใช้ระบบและซอฟต์แวร์ที่ไม่รองรับ SMTPUTF-8 เช่น Mail Server ที่ไม่รองรับเลยเช่น Exchange ที่ต่ำกว่า 2019 จะไม่รองรับ
- ความซับซ้อนในการอัปเกรด: การอัปเกรดระบบอีเมลให้รองรับ SMTPUTF-8 ต้องการทรัพยากรและการทดสอบที่มาก ซึ่งอาจทำให้บางองค์กรชะลอการนำมาใช้งาน
- การรองรับของผู้ให้บริการอีเมล: ผู้ให้บริการอีเมลขนาดใหญ่บางราย เช่น Gmail, Outlook และ Yahoo มีการรองรับ SMTPUTF-8 แต่ไม่ใช่ผู้ให้บริการทุกรายที่จะมีการรองรับในขณะนี้
- แนวโน้มในอนาคต:การรองรับอีเมลในภาษาต่างๆ ที่ไม่ใช่ภาษาอังกฤษมีแนวโน้มเพิ่มขึ้น เนื่องจากความต้องการที่สูงขึ้นในตลาดทั่วโลก
เราอยากจะนำเสนอระบบอีเมล์ตัวอย่างในองค์กรที่ใช้ Exchange 2016 ซึ่งไม่รองรับ SMTPUTF-8 แต่มีการใช้งาน Proxmox Mail Gateway ซึ่งเบื้องหลังการทำงานของ Proxmox นั้นจะเป็น Postfix Mail Server ซึ่งสนับสนุน SMTPUTF-8
หากเราพิจารณา การไหลของอีเมล์ จะมีลำดับดังต่อไปนี้ (ก่อนการตั้งค่าใน Postfix ใน Proxmox MG)
- ลูกค้าซึ่ง Mail Server ที่เขาใช้อยู่นั้น สนับสนุน SMTPUTF-8 ทำการติดต่อมายัง Mail Filtering System ฝั่งเรา ซึ่ง Proxmox MG ของเรานั้นโดยปริยายแล้วไม่สนับสนุน SMTPUTF-8 จะทำการปฏิเสธข้อความดังกล่าว และ จะปฏิเสธการรับเมล์นั้น
หลังการตั้งค่าใน Postfix ใน Proxmox MG การไหลของข้อมูลจะเป็นดังนี้
- ลูกค้าซึ่ง Mail Server ที่เขาใช้อยู่นั้น สนับสนุน SMTPUTF-8 ทำการติดต่อมายัง Mail Filtering System ฝั่งเรา ซึ่ง Proxmox MG ซึ่งเราตั้งค่าให้สนับสนุน SMTPUTF-8 แล้ว ก็จะรับเมล์นั้นไว้
- เมื่อกรองเมล์เสร็จสิ้น Proxmox MG จะทำการเชื่อมไปยัง Exchange 2016 และ ส่งอีเมล์ฉบับนั้นไปหา mailbox ปลายทาง
- การส่งอีเมล์ออก เนื่องจาก Exchange 2016 นั้นไม่สนับสนุน SMTPUTF-8 อยู่แล้วเพราะฉะนั้น เมล์ที่ส่งออกไปจะไม่มี header ที่เป็น SMTPUTF-8 เมื่อ Proxmox MG ได้รับ ระบบก็จะเช็ค header โดยจะรับเมล์นั้นไว้
- Proxmox MG ติดต่อไปยัง Mail Server ปลายทาง และ เช็คความ compatible ว่ารองรับหรือไม่ แต่จะส่งได้ทั้งสองกรณี
ใน Postfix Mail Server และ Exchange Server การสนับสนุน SMTPUTF-8 มีรายละเอียดดังนี้:
Postfix Mail Server
Postfix เริ่มสนับสนุน SMTPUTF-8 ตั้งแต่เวอร์ชัน 3.0 เป็นต้นไป โดยการตั้งค่าและการเปิดใช้งาน SMTPUTF-8 ใน Postfix สามารถทำได้ดังนี้:
postconf "smtputf8_enable = yes"
echo "smtputf8_autodetect_classes = all" >> /etc/postfix/mail.cf
postfix reload
โดยบรรทัดแรก จะเป็นการเพิ่ม configure ให้สนับสนุน smtputf-8
บรรทัดที่สอง คือจะใช้วิธีการเช็ค smtputf8 อัตโนมัติ โดยจะรับเมล์ไว้ทั้งสองแบบ
การตั้งค่าใน Exchange Server 2019 เป็นต้นไป
Set-TransportConfig -SmtpUtf8Enabled $true