06 มิถุนายน 2549

Postfix กับ MySQL

ช่วงนี้กำลังใกล้จะเปิดเทอม เลยมีงานหลายๆ อย่างที่จะต้องรีบทำ อย่างวันนี้ก็จัดการสร้างที่อยู่อีเมลของภาควิชาฯ ให้กับนักศึกษาปี 2 ที่กำลังจะเข้าภาคใหม่ในปีนี้ เดิมทีภาคไม่เคยมีบริการอีเมลในนักศึกษา เนื่องจากข้อจำกัดทั้งทางด้านทรัพยากรเครื่องและคน พอไม่มีก็จะทำให้ติดต่อนักศึกษาค่อนข้างยาก ไม่มีช่องทางติดต่อ อาจารย์แต่ละวิชาก็ต้องหาทางติดต่อนักศึกษากันเอง ปีนี้มีเครื่องเหลือพอทำงานได้อยู่เครื่องหนึ่ง เลยเอามาจัดการอีเมล ครั้นจะสร้างที่เก็บเมลให้เลย ก็มีพื้นที่อยู่ไม่เท่าไหร่ แล้วก็ไม่รู้จะมาเช็คกันหรือเปล่า สุดท้ายเลยเกิดแนวคิดที่จะส่งต่อเมลไปยังเมลที่นักศึกษาใช้กันประจำอยู่แล้ว ทำให้สะดวกมากขึ้น ทั้งยังลดทรัพยากรที่จำเป็นต้องใช้ด้วย

เมื่อวานนี้เลยนั่งเว็บง่ายๆ (พร้อมบัก) ด้วย php ให้นักศึกษาสามารถแก้ไขอีเมลปลายทางที่ต้องการให้ส่งต่อได้เอง ใช้ mysql เก็บข้อมูล จากนั้นก็ไปกำหนดให้ postfix ไปอ่านข้อมูลจากตารางใน mysql เพื่อส่งต่อเมล ซึ่ง postfix ก็สนับสนุนอยู่แล้ว (เพียงแต่ว่าดิสตริบัวชันส่วนใหญ่จะไม่ได้สร้างไบนารีที่สนับสนุน mysql มาให้ ก็อาจจะต้องมาสร้างแพคเกจเอาเอง) เสร็จแล้วก็ไปสร้างไฟล์ชื่ออะไรก็ได้ เพื่อกำหนดวิธีการติดต่อกับ mysql

hosts = 127.0.0.1
user = postfix
password = xxx
dbname = DB
query = SELECT forward FROM alias WHERE account = '%u'

จะเห็นว่ามีการกำหนดคำสั่ง sql ซึ่งจะเลือกข้อมูลการส่งต่อ จากอีเมลที่กำหนด (ใช้ %u หมายถึงชื่ออีเมล และ %s หมายถึงที่อยู่อีเมลทั้งหมด) จากนั้นก็ไปเพิ่มคำสั่งกำหนด alias ในไฟล์ main.cf อีกหนึ่งบรรทัดก็เป็นอันเสร็จสิ้น

alias_maps = mysql:/etc/mysql.aliases

ที่มา: Postfix MySQL Howto, Fedora Wiki, และ "man mysql_table"

0 ความคิดเห็น:

แสดงความคิดเห็น

สมัครสมาชิก ส่งความคิดเห็น [Atom]

<< หน้าแรก