บริการส่ง mail ด้วย php
: เพื่อให้ web server ที่เปิดบริการ SMTP (/usr/sbin/sendmail) ถูกเรียกใช้โดย php สำหรับส่ง mail
บริการนี้เปิดให้ทดสอบว่าส่งถึงท่านไหม
แต่อาจใช้ไม่ได้ทุกเครือข่าย เพราะกำหนด RELAY
ให้เฉพาะบางเครือข่ายเท่านั้น แต่ถ้า copy source code
ไปใช้ก็น่าจะใช้ได้เลย โดยโปรแกรมตัวอย่างได้มีการตรวจสอบอะไรนิดหน่อย
ซึ่งอาจนำไปประยุกต์ใช้งานสำหรับริการต่าง ๆ ได้ง่ายขึ้น เช่น contact us หรือ e-commerce เป็นต้น โปรแกรมนี้ได้ทดสอบแล้วที่ http://www.isinthai.com/~php/mail.htm และ http://lampang.thcity.com/mail.htm
ข้อควรทราบ : โปรแกรมนี้ไม่ได้ตรวจสอบอะไรมากมาย โดยแบ่งโปรแกรมออกเป็น 2 ส่วน เพื่อให้ง่ายสำหรับผมในการอธิบาย ว่า ส่วนที่ 1 ใช้รับค่าจากผู้ใช้ ส่วนที่ 2 ใช้ส่ง e-mail โดยตรง แต่การจะส่ง mail ได้ เครื่องที่ท่านนำโปรแกรมทั้ง 2 นี้ไปวางต้องมีคุณสมบัติ 2 ประการ 1. ต้องเป็น web server ที่บริการ php 2. ต้องให้บริการ smtp โดยเปิด relay ให้กับผู้ใช้เข้ามาใช้ได้
Source code : mail.htm
<body>
<form action=mail.php method=get>
<input name=refer type=hidden value="http://www.isinthai.com/~php/mail.htm">
From : <input name=from value="saleman@oho.com" size=30><br>
To : <input name=to value="burin@yonok.ac.th" size=30><br>
Subject : <input name=subject value="test sendmail by isinthai.com" size=50><br>
<textarea name=message rows=5 cols=80>
Test form isinthai.com/~php/mail.htm
</textarea><br>
<input type=submit value=send>
</form>
</body>
Source code : mail.php : สำหรับรับข้อมูลเพื่อส่ง mail ออกไป (ทำหน้าที่ส่ง e-mail โดยตรง)
<body>
<font color=blue>Send mail : </font><font color=red>
<?
$lf = chr(13). chr(10);
$msg = $_GET['message'] . $lf ."IP address: " . $_SERVER["REMOTE_ADDR"];
$msg = $msg . $lf ."Service by: http://www.isinthai.com/~php/mail.htm";
// mail ("burin@yonok.ac.th","your order","want 100 car today","From: saleman@oho.com");
if ($_GET['to'] <> "burin@yonok.ac.th" || $_GET['from'] <> "saleman@oho.com") {
mail($_GET['to'],":: ".$_GET['subject'],$msg,"From : ".$_GET['from']);
echo "ok";
} else {
echo "invalid";
}
?>
</font><br><a href=<? echo $_GET['refer']; ?>><? echo $_GET['refer']; ?></a>
</body>
อีก code หนึ่ง /var/www/html/isinthai/sndform.php ที่ใช้งานอยู่จริง
<?
$mto = $_POST["mto"];
$msubj = $_POST["msubj"];
$mfrom = $_POST["mfrom"];
$message = $_POST["message"];
$redirect = $_POST["redirect"];
if (empty($redirect)) { $redirect = "http://www.isinthai.com/isinthai/sndform.php"; }
if (empty($mto) || empty($msubj) || empty($mfrom) || empty($message)) {
echo "<body bgcolor=#ffffdd><font face='courier new'>";
echo "<form action=sndform.php method=post>";
echo ".... To : <select name=mto size=3>";
echo "<option value=nirund@yonok.ac.th selected>ดร.นิรันดร์ จิวะสันติการ";
echo "<option value=atichart@yonok.ac.th>อติชาต หาญชาญชัย";
echo "<option value=burin@yonok.ac.th>ผู้ดูแลเครือข่าย, HW, SW, ฐานข้อมูล";
echo "</select><br>.. From : <input name=mfrom size=30> EX. yourname@hotmail.com<br>";
echo "Subject : <input name=msubj size=50> EX. Why the name is YONOK?<br>";
echo "Messages: <textarea name=message rows=10 cols=80>";
echo "</textarea> <input type=submit value=Send_mail><br>";
echo "<input name=redirect type=hidden value=http://www.isinthai.com/isinthai/sndform.php>";
echo "</form>";
$message = "hi\nthis is test\nthis is line.";
$mto = "burin@yonok.ac.th";
$msubj = "the subject";
$mfrom = "burin@thaiall.com";
} else {
$message=$message."\n\nService from http://".$_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
$message=$message."\nScript developer by webmaster@yonok.ac.th";
$message=$message."\nIP address : ".$_SERVER["REMOTE_ADDR"];
$msubj = "Subject_".$msubj;
$txtfrom = "From: ".$mfrom."\nX-Mailer: PHP/" . phpversion();
mail($mto, $msubj, $message, $txtfrom );
echo "<html><head><meta http-equiv=Refresh CONTENT='50; URL=$redirect'>";
echo "</head><body><font face='courier new'>";
echo "Your message sending [ <b>completely</b> ]<hr color=red><pre>";
echo "From : $mfrom \n";
echo "To : $mto \n";
echo "Subject : $msubj \n";
echo "Message : $message</pre>";
}
?>
ไม่มีความคิดเห็น:
แสดงความคิดเห็น