บริการรับ-ส่งอีเมลของ Mercury/32 v.4.6 from localhost

mercury mail server on xampp that work with PHP
mercury mail server on xampp that work with PHP

การ config ให้เป็นบริการแบบสองทางคือ รับ กับ ส่ง
ผ่าน localhost บน winxp โดยใช้ Outlook Express

1. เปิดบริการ
เข้าโปรแกรม xampp control panel แล้วเปิดบริการ Mercury
จะพบว่า port 25 กับ 110 เปิดให้บริการแล้ว ตรวจด้วย netstat -na ใน DOS
2. สร้าง user ของ e-mail
เข้า admin ของ Mercury/32 v.4.6 ใน xampp control panel
แล้วเข้า Configuration, Manage Local User…
เพิ่มรหัสผู้ใช้อีเมล โดยกำหนดให้ User:test
Personal Name:test และ Mail Password:test
3. ทดสอบกับ e-mail client
เปิด Outlook Express ครั้งแรก ต้องกรอกข้อมูลต่าง ๆ
Display name: test และ E-mail address: test@localhost
Incoming mail: 127.0.0.1 และ Outgoing mail: 127.0.0.1
Account name: test และ Password:test
4. ทดสอบระบบรับ-ส่ง
สั่งเขียนอีเมลใน Outlook Express ให้กด Create Mail
ส่งถึง test@localhost และให้ subject กับ message เป็น “hello world”
เมื่อสั่ง Send/Recv ก็จะพบอีเมลใหม่เข้ามาใน inbox
5. เขียน code ภาษา php
ให้โปรแกรมที่เขียนขึ้นมาทำงานบน Apache ที่จัดการโดย XAMPP
<?php
mail(“test@localhost”,”hello world”,”1\n2\n”,”From: admin@localhost\r\n”);
?>
สร้างแฟ้ม x.php วางใน c:\xampp\htdocs แล้วเปิดเว็บ http://localhost/x.php
พบว่าระบบไม่ส่งอีเมลออกไป ต้องทำข้อที่เหลือก่อน โดยแก้ไข sendmail.ini และ php.ini
6. แก้ไข sendmail.ini
เปิด c:\xampp\sendmail\sendmail.ini ขึ้นมาแก้ไข
จาก smtp_server=mail.mydomain.com
เป็น smtp_server=localhost
7. แก้ไข php.ini
เปิด c:\xampp\php\php.ini ขึ้นมาแก้ไข
จาก ;sendmail_path = “\”c:\xampp\sendmail\sendmail.exe\” -t”
จาก sendmail_path = “c:\xampp\mailtodisk\mailtodisk.exe”
เป็น sendmail_path = “\”c:\xampp\sendmail\sendmail.exe\” -t”
เป็น ;sendmail_path = “c:\xampp\mailtodisk\mailtodisk.exe”
8. เมื่อ restart apache ก็จะส่งอีเมลได้แล้ว
สั่ง stop และ start apache ใหม่ แล้วเรียก x.php ผ่าน browser
ในการเรียกแต่ละครั้ง ก็จะส่งอีเมลจาก admin@localhost
แล้วพบอีเมลที่ส่งไปเข้า outlookexpress เรียบร้อยดี