[บทความนี้แต่งขึ้นเมื่อ Feb,2000 โดย Rittichart S.]
เคยได้ยินชื่อโปรแกรม Formmail กันบ้างไหมครับ? คาดว่าคงจะเคยกันแน่ๆ เพราะว่าโปรแกรม formmail นั้นเป้นที่นิยมใช้กันอย่างแพร่หลายในการทำเวบ ส่วนใหญ่มักจะใช้กันในหน้าที่อยากจะให้ผู้เข้าชมเวบนั้น เขียน comment หรือให้ทิ้งข้อมูลให้ทางเจ้าของเว็บติดต่อกลับไปอะไรทำนองนั้น จากนั้นข้อมูลที่กรอกลงในฟอร์มดังกล่าว ก็จะถูกส่งไปทาง E-mail ที่ระบุเอาไว้ในโปรแกรม..
จุดเริ่มต้นของ Formmail ก็คาดว่าน่าจะมาจากภาษา Perl และโปรแกรม sendmail บน Unixครับ และที่เห็นใช้กันเยอะๆ ก็น่าจะเป็น foammail ของนายMatt.
แต่ด้วยความที่พื้นที่ตรงนี้เป็น area ของ ColdFusion นาาครับ. พง เพิร์ล ไรนี่ก็ไปดูเอาที่อื่นเอาดิฮะ แฮะๆ
บทความคราวนี้ผมจะขอเสนอวิธีการสร้าง Foammail ด้วย ColdFusion และยังขอ Value Added ลงไปอีกนีสสสนึงตรงที่ทำให้ฟอร์มนั้นเลือกผู้รับได้มากกว่าหนึ่งคน โดยจะใช้คุณสมบัติของ CFQUERY ที่เคยพูดไปแล้ว กับ TAG ใหม่ที่จะพูดถึงในคราวนี้นั่นคือ CFMAIL ครับ โดยที่เราจะเอา Database เก่าที่เราเคยสร้างเอาไว้ในบทความครั้งก่อนมาใช้กัน.
อันดับแรกให้เราดึงข้อมูลจาก Database มาสร้างเป็น Drop Down list พร้อมกับสร้าง form field ที่จำเป็นต่างๆเอาไว้
<!– Formmail.cfm –>
<CFQUERY Datasource =”cftest1″ Name=”Qto”>
SELECT Name,Email FROM Example001
</CFQUERY>
<html><head><title>my formmail</title></head><body>
<font size=”5″>ต๊าย..ตายจดหมายผิดซอง อิอิ..</font>
<form action=”formmail.cfm” method=”post”>
ส่งถึง :
<select name=”to”>
<CFOUTPUT QUERY=”Qto”>
<option value=”#Email#“>#Name#
</CFOUTPUT></select><br>
From :
<input type=”text” name=”from” value=”Your@email.here”><br>
เนื้อความจดหมาย.<br>
<textarea cols=”40″ rows=”5″ name=”body”></textarea><br>
<input type=”submit” name=”send” value=”send”>
</form>
</body></html>
เมื่อเราได้ส่วนของ Form เรียบร้อยแล้วต่อไปเราก็มาสร้างในส่วนของโปรแกรมที่ใช้ทำการส่ง E-mail ไปยัง e-mail address ที่ได้ถูกเลือกเอาไว้ใน form ที่สร้างไว้ตอนต้น โดยนำไปสอดแทรกเอาไว้ใน code ที่เขียนไว้ข้างต้นครับ ให้สังเกตุในส่วนที่เป็นสีแดง ซึ่งจะเป็นชุดคำสั่งที่เราจะนำมาแทรกเอาไว้.
<!– Formmail.cfm –>
<CFIF IsDefined(“Form.send”)>
<CFMAIL TO=”#FORM.to#”
FROM=”#Form.from#”
SUBJECT=”ใส่ชื่อ Subject ของ Email ที่ต้องการที่นี่”
TYPE=”HTML”
SERVER=”ใส่ smtp server ของ Hosting ที่คุณใช้ หรือใช้ของ ISP เช่นของ CS Internet ก็คือ mail.cscoms.com”
PORT=”25″>
#Form.body#
</CFMAIL>
ส่งไปที่ <cfoutput><a href=”mailto:#Form.to#”>#Form.to#</a></cfoutput> เรียบร้อยแล้ว ขอบคุณที่ใช้บริการ
<CFELSE>
<CFQUERY Datasource =”cftest1″ Name=”Qto”>
SELECT Name,Email FROM Example001
</CFQUERY>
<html><head><title>my formmail</title></head><body>
<font size=”5″>ต๊าย..ตายจดหมายผิดซอง อิอิ..</font>
<form action=”formmail.cfm” method=”post”>
ส่งถึง :
<select name=”to”>
<CFOUTPUT QUERY=”Qto”>
<option value=”#Email#“>#Name#
</CFOUTPUT></select><br>
From :
<input type=”text” name=”from” value=”Your@email.here”><br>
เนื้อความจดหมาย.<br>
<textarea cols=”40″ rows=”5″ name=”body”></textarea><br>
<input type=”submit” name=”send” value=”send”>
</form>
</body></html>
</CFIF>
จากนั้นก็ทำการ SAVE ไฟล์ได้เลย ตามตัวอย่างผม SAVE ไว้ในชื่อ Formmail.cfm , จากนั้นก็ลองรันดูได้เลยครับ

ไม่ยากอีกแล้วใช่ไหมครับ แฮ่ๆ คุณอาจจะอยาก Edit หรือ Modify อะไรเพิ่มเติมก็ตามสบายเลยนะครับ ใน TAG CFMAIL นั่นยังมี Parameter ให้ใช้อีกหลายตัว ถ้าสนใจละก็ลองเปิด Help ของ ColdFusion ดูหรือจะลอง Email มาถามผมก็ได้ ยินดีครับ.
Download : Source code : Formmail.zip
ทำให้ผมได้ไหมครับ ผมอยากได้มากๆๆๆๆ ทำหลายทีละแต่ก็ไม่สำเร็จ หวังว่าคงเข้าใจนะครับ (ผมมันโง่)
ดาว์นโหลดไฟล์จากลิ้งข้างบนแล้วเอาไปใช้ได้เลยครับ