Tag Archive xampp

php: ส่งอีเมล์

การส่งอีเมล์ในภาษา php จะเขียนได้ง่ายๆ ในรูปแบบ[code language=”php” title=”ส่งอีเมล์ด้วย php”]<?php
$headers = ‘Content-Type: text/html; charset=UTF-8’;
$message = ‘เคยได้ยินไหม ที่ใครเคยบอกว่ารัก….เป็นดั่งรองเท้าคู่หนึ่งฉันได้ลองหา เพื่อมีวันหนึ่งที่ฉัน….ได้เจอรองเท้าที่ถูกใจบางทีก็ดูคับเกินไป บางที่ไม่เหมาะสมกับฉัน… ซักเท่าไหร่จนได้มาพบได้เจอรองเท้าคู่หนึ่ง… ที่ดูแล้วเข้ากับฉันมาถึงวันนี้… ก้าวเดินด้วยกันก็นาน… และตัวฉันยังพอใจบางคนบอกไม่สวยเท่าไหร่ แต่นี่คือที่ฉันมั่นใจ* ว่าฉันไม่เคยจะเปลี่ยนใจจากรองเท้าที่ฉันใส่อาจจะดูว่าเก่าเกินไปแต่ฉันก็ผูกพัน ตื่นเช้าขึ้นมา ก็ใส่เดินไป ก้าวไปกับฉันได้ออกไปเจอกับสิ่งดีดี ที่มีด้วยกัน ….. ตลอดไปแม้หนทางที่เดินไป มันจะดูไม่ง่ายดาย แต่ฉันก็ยังจะก้าวไปกับรองเท้าคู่ใจของฉัน …. ต่อไปบางทีก็ดูคับเกินไป บางที่ไม่เหมาะสมกับฉันบางคนบอกไม่สวยเท่าไหร่ แต่นี่คือที่ฉันมั่นใจ(*) ได้ออกไปเจอกับสิ่งดีดี ที่มีด้วยกัน….. ตลอดไปเคยได้ยินไหมที่ใครเคยบอกว่ารักเป็นดั่งรองเท้าคู่หนึ่ง’;
$subject = ‘ความรักกับรองเท้า’;
$to = ‘[email protected]’;

if (mail($to, $subject, $message, $headers)) {
echo ‘ส่งอีเมล์แล้ว’;
} else {
echo ‘ไม่สำเร็จ’;
}[/code]

แต่ถ้าใช้ xampp ในการติดตั้ง server ถึงจะติดตั้ง Mercury (mail server ที่ติดมากับ xampp) จะไม่สามารถส่งได้ทันที การส่งอีเมล์ จะทำให้เกิด error Warning: mail(): “sendmail_from” not set in php.ini or custom “From:” header missing in แก้ได้โดยเปิดไฟล์ C:\xampp\php\php.ini และถ้าใช้ windows ให้ลบ ; หน้า sendmail_from หรือ ถ้าเป็นเม็ค / linux ให้ลบ ; หน้า sendmail_path ออกไป[code language=”text” title=”C:\xampp\php\php.ini”]; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =[/code]

แต่ถ้าส่งอีเมล์ไปที่ไม่ใช่ local host จะเห็น error Warning: mail(): SMTP server response: 553 We do not relay non-local mail, sorry. แก้โดยไปดูที่ xampp Control Panel หลัง mercury คลิก Admin จะมี mercury/32 เปิดขึ้นมา ไปที่ Configuration > MercuryS SMTP Server > Connection control แล้วเอาติ๊กหน้า Do not permit SMTP relaying of non-local mail ออกไป