ลีนุกซ์ (Linux)
Home  Contents KMArticlesMembersSponsorsAbout us

ปรับปรุง : 2556-10-06 (ปรับเป็นรุ่น 3)
ขอบซ้ายขอบบน
Linux : 0421
:: กลับหน้าแรก :: แสดงเนื้อหาทั้งหมด ::

4.21 บริการส่ง 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>";
    }
    ?>
    

ขอบซ้ายขอบบน
สารบัญ
กรณีศึกษาจาก Redhat 6.2 -> Fedora Core 4 -> Android 4.01
บทที่ 1 : คำสั่งสำหรับผู้ใช้พื้นฐาน (Basic user command)
    1.1 คำสั่ง ls : แสดงรายชื่อแฟ้มในห้องปัจจุบัน หรือห้องอื่น ๆ ที่ต้องการ 1.2 คำสั่ง chmod : เปลี่ยนสถานะของแฟ้มเช่น Read Write eXecute 1.3 คำสั่ง man : แสดงรายละเอียดของคำสั่ง (Manual) 1.4 คำสั่ง mkdir, rmdir, cd : คำสั่งเกี่ยวกับ Directory หรือ Folder เพื่อสร้าง หรือลบ 1.5 คำสั่ง pico : editor ยอดฮิตใน Linux ที่ต้องมากับ Pine เป็น Text mode ที่ใช้ง่ายที่สุด 1.6 คำสั่ง emacs : editor ยอดฮิตใน Linux ใช้ยากกว่า pico นิดหน่อย 1.7 คำสั่ง vi : editor ยอดฮิตใน Linux ที่ใช้ยากที่สุด 1.8 คำสั่ง id, finger, who, w : โปรแกรมตรวจสอบ username ของตนเอง 1.9 คำสั่ง cat : แสดงข้อมูลในแฟ้มเหมือนคำสั่ง type ในระบบ DOS 1.10 คำสั่ง ifconfig : ดู IP หรือเพิ่ม IP เข้าไปใน linux server 1.11 คำสั่ง netstat : แสดงสถานะของเครือข่าย 1.12 คำสั่ง service : แสดงสถานะโปรแกรมที่เปิดให้บริการ 1.13 คำสั่ง xinetd : แสดงบริการที่เปิดใต้โปรแกรม xinetd 1.14 คำสั่ง whereis : ค้นหาแฟ้มที่ต้องการว่าอยู่ที่ห้องใด 1.15 คำสั่ง cp, rm, mv : จัดการแฟ้มเช่น คัดลอก ลบ และย้าย 1.16 คำสั่ง ping : ตรวจสอบ ip และการเชื่อมต่อ internet 1.17 คำสั่ง env : แสดงค่า environment ปัจจุบัน 1.18 คำสั่ง lynx : Text browser ที่ใช้งานง่าย ใช้ดู source หรือ download ได้ 1.19 คำสั่ง nslookup : แสดงข้อมูลเกี่ยวกับ name server จาก ip หรือ domain name 1.20 คำสั่ง tail : แสดงส่วนท้ายของแฟ้มที่มีขนาดใหญ่ ต้องข้ามกับ cat ที่ดูตั้งแต่เริ่มแฟ้ม 1.21 คำสั่ง telnet : ใช้ติดต่อเข้า server ต่าง ๆ ตาม port ที่ต้องการ .
บทที่ 2 : คำสั่งสำหรับผู้ใช้ระดับกลาง (Intermediate user command) เพื่อต้องการตรวจสอบระบบ
    2.1 คำสั่ง df : แสดง partition ของ linux พร้อมขนาดที่ใช้ไป 2.2 คำสั่ง du : แสดงพื้นที่ใช้งานในแต่ละ Directory 2.3 คำสั่ง ps : แสดง process ที่กำลังทำงานอยู่ทั้งของเครื่อง และตนเอง 2.4 คำสั่ง kill : ยกเลิก process ที่ทำงานอยู่ 2.5 คำสั่ง find : ค้นหาแฟ้มที่ต้องการภายในทุก ๆ directory ได้ 2.6 คำสั่ง gzip : คลายการบีบอัด หรือแตกแฟ้มประเภท .gz 2.7 คำสั่ง tar : คลายการบีบอัด หรือแตกแฟ้มประเภท .tar 2.8 คำสั่ง last : แสดงรายชื่อผู้ใช้งานระบบปัจจุบันไปถึงอดีต 2.9 คำสั่ง grep : เลือกข้อความที่ต้องการภายในแต่ละบรรทัด 2.10 คำสั่ง date, hwclock : ใช้กำหนด หรือแสดงเวลาปัจจุบัน 2.11 คำสั่ง top : แสดง process ที่ทำงานในปัจจุบัน พร้อม refresh ตลอดเวลา 2.12 คำสั่ง ntsysv และ setup : กำหนดบริการที่ต้องการเปิด หรือปิด เช่น httpd หรือ vsftp 2.13 คำสั่ง route : ใช้กำหนด แสดง ตารางเส้นทาง 2.14 คำสั่ง shutdown, reboot : ใช้ปิดเครื่อง หรือ ปิดและเปิดเครื่องใหม่อย่างถูกวิธี 2.15 คำสั่ง runlevel : คู่กับแฟ้ม /etc/inittab 2.16 คำสั่ง fsck : ซ่อมแซมระบบแฟ้มใน linux 2.17 คำสั่ง chown, chgrp : เปลี่ยนเจ้าของ หรือเปลี่ยนกลุ่ม 2.18 คำสั่ง chkconfig : กำหนด หรือแสดง บริการที่สั่งประมวลผลใน level ต่าง ๆ ขณะเปิดเครื่อง 2.19 คำสั่ง mount, umount : เชื่อมต่ออุปกรณ์ หรือ partition เช่น Diskette หรือ Handy drive 2.20 คำสั่ง mkbootdisk : สร้างแผ่น boot disk เพื่อใช้ boot ระบบ linux ขึ้นมาภายหลัง 2.21 คำสั่ง traceroute : แสดงเลข ip ของเครื่องที่ถูกเชื่อมต่อ ไปยังปลายทางที่ต้องการ 2.22 คำสั่ง rpm : ใช้ตรวจสอบ เพิ่ม หรือลบ package ของระบบ linux เกือบทั้งหมด 2.23 คำสั่ง su : ขอเปลี่ยนตนเองเป็น Super user เพื่อใช้สิทธิสูงสุดในการบริหารระบบ 2.24 คำสั่ง useradd : เพิ่มผู้ใช้รายใหม่เข้าไปในระบบ 2.25 คำสั่ง userdel : ลบผู้ใช้รายเดิม ออกจากระบบ 2.26 คำสั่ง usermod : แก้ไขข้อมูลของผู้ใช้ได้ 2.27 คำสั่ง crontab : ตั้งเวลาสั่งงานคอมพิวเตอร์ 2.28 คำสั่ง lspci : ตรวจสอบอุปกรณ์ที่เชื่อมต่อภายในเครื่อง 2.29 คำสั่ง nmap : ตรวจสอบเครือข่ายแบบกวาดทั้งในเครื่อง และ class C .
บทที่ 3 : บทเรียน PERL บทที่ 4 : บทเรียน PHP บทที่ 5 : บทเรียน MYSQL บทที่ 6 : แนะนำเครื่องบริการ บทที่ 7 : การใช้ application บทที่ 8 : ระบบ file และ directory บทที่ 9 : การบริหารระบบ โดย Super User
ผู้สนับสนุน + ผู้สนับสนุน
+ รับผู้สนับสนุน
"Imagination is more important than knowledge" - Albert Einstein
Home
Thaiabc.com
Thainame.net
Lampang.net
Nation university
PHP
MySQL
Visual basic.NET
TabletPC
Linux
Online quiz
Download
Search engine
Web ranking
Add website
Blog : Education
Blog : ACLA
Blog : Lampang
Facebook.com
Twitter.com
About us
My dream
Site map
Sponsor