External SMTP for Email Sending

SMTP (Simple Mail Transfer Protocol) คือมาตราฐานการรับส่งอีเมลผ่านเครือข่ายอินเตอร์เน็ตโปรโตคอล (IP) การสื่อสารระหว่างผู้ส่งและผู้รับจะดำเนินการผ่านสตริงคำสั่งและส่งข้อมูลโดยใช้ช่องทางสตรีมข้อมูลที่น่าเชื่อถือซึ่งโดยปกติจะเป็นการเชื่อมต่อ TCP ในคู่มือนี้จะแสดงวิธีการส่งอีเมลผ่าน SMTP โดยใช้โฮสติ้งของเรา PHP มีวิธีการตั้งค่าดังนี้:

PHPMailer สำหรับการส่งอีเมล

PHPMailer เป็นการส่งอีเมลแบบดั้งเดิมที่มีฟีเจอร์ครบถ้วนสำหรับ PHP สามารถใช้ได้กับ PHP v. 5.0 หรือสูงกว่า

1. เข้าสู่ระบบ Ruk-Com Cloud

2. สร้าง PHP environment คลิกที่ปุ่ม New Environment และเลือกแท็บ PHP

3. เลือกแอปพลิเคชันเซิร์ฟเวอร์ Apache และกำหนดขีดจำกัด cloudlets จากนั้นเปิด public IP สำหรับโหนด apache ป้อนชื่อสำหรับ environment ของคุณ (เช่น phpmailer) แล้วคลิก Create

create PHP environment

4. คลิกที่ลิงก์เพื่อดาวน์โหลด PHPMailer script

5. ไปที่ Deployment manager และ Upload แพ็กเกจไปยัง Ruk-Com Cloud แดชบอร์ด

deployment manager

6. กดปุ่ม Browse เลือกไฟล์ในเครื่องของคุณแล้วกดปุ่ม Upload

upload phpmailer archive

7. เมื่ออัปโหลดไฟล์เรียบร้อยแล้วกดปุ่ม Deploy ไปยัง environment ที่สร้างก่อนหน้านี้

deploy PHPMailer

8. จากนั้นคลิกปุ่ม Config ถัดจากแอปพลิเคชันเซิร์ฟเวอร์ของคุณแล้วเปิดไฟล์ /var/www/webroot/ROOT/config.php

PHPMailer configuration

9. ระบุข้อมูลที่จำเป็นทั้งหมดเพื่อกำหนดค่าการส่งอีเมลผ่าน localhost หรือผ่านอีเมลบัญชีที่คุณต้องการส่ง:

การส่งผ่าน Localhost

คุณสามารถส่งอีเมลได้โดยตรงจากแอปของคุณโดยไม่ต้องระบุอีเมลจริง ในกรณีนี้จะไม่มีข้อจำกัดใดๆเกี่ยวกับความถี่และปริมาณอีเมลที่ส่ง แต่สามารถตรวจสอบการส่งอีเมลของคุณว่าเป็นสแปม

สำหรับการกำหนดค่าคุณควรระบุค่าพารามิเตอร์ดังนี้:

  • host: ระบุค่า localhost
  • auth: ระบุ false (ปิดการใช้งาน authentication เนื่องจากไม่จำเป็นสำหรับ localhost)
  • username: ระบุชื่อที่คุณต้องการ (ชื่อผู้ส่ง)
  • addreply: ระบุอีเมลที่จะใช้สำหรับการตอบกลับอีเมลของคุณ (พารามิเตอร์นี้บังคับให้ระบุค่า)
  • replyto: ระบุอีเมลเดียวกับพารามิเตอร์ addreply
email via localhost configs

กดปุ่ม Save เพื่อบันทึกการเปลี่ยนแปลง หลังจากนั้นคุณสามารถคลิกปุ่ม Open in Browser ถัดจาก environment ของคุณเพื่อดูฟอร์มสำหรับการส่งอีเมล

PHPMailer send email form

ป้อนข้อมูลสำหรับการทดสอบส่งอีเมลแล้วคลิก Submit ในเวลาไม่นานอีเมลจะปรากฏที่กล่องข้อความของคุณ

test email from localhost

เพิ่มเติม: หากคุณไม่ได้รับอีเมล โปรดตรวจสอบในโฟลเดอร์สแปม

การส่งอีเมลผ่านบัญชีจริง

ในกรณีที่คุณมีบัญชีอีเมลพิเศษที่ลงทะเบียนสำหรับการส่งจดหมายของคุณสามารถใช้ได้เช่นกัน บัญชีลักษณะนี้จะไม่อยู่ในโฟลเดอร์สแปมแต่จะมีข้อจำกัดบางประการ เช่นจำนวนอีเมลที่ส่งได้ ในตัวอย่างนี้เราจะใช้ gmail.com

คุณสามารถกำหนดค่าได้ตามตัวอย่างนี้:

  • host: state ssl://smtp.gmail.com
  • port465 (พอร์ตสำหรับผู้ให้บริการอีเมลของคุณ, ในกรณีนี้คือ gmail)
  • username: ระบุบัญชีอีเมลที่คุณต้องการใช้
  • password: ระบุรหัสผ่านของบัญชีอีเมล username
  • addreply และ replyto: ระบุบัญชีอีเมลเดียวกันกับ username (บัญชีที่คุณต้องการใช้ส่งจดหมาย)
email via GMail configs

กดปุ่ม Save เพื่อบันทึกการเปลี่ยนแปลงแล้วคลิกปุ่ม Open in Browser ถัดจาก environment ของคุณ

PHPMailer send email form

ป้อนข้อมูลในช่องและคลิก Submit อีกสักครู่อีเมลนี้จะปรากฏในกล่องจดหมายของคุณ

test email from GMail

การใช้แบบฟอร์มที่กำหนดเองสำหรับการส่งอีเมล

คุณสามารถเตรียมโค้ดแบบฟอร์มส่งอีเมลของคุณและตั้งค่าสำหรับส่งอีเมลได้

1. กดปุ่ม Config ถัดจากเซิร์ฟเวอร์ Apache ของคุณ

Apache config button

2. ไปที่โฟลเดอร์ webroot/ROOT แล้วสร้างไฟล์ใหม่ เช่น mailtest.php

create mailtest page

3. วางแบบฟอร์มโค้ดของคุณลงในไฟล์ที่สร้างขึ้นแล้วกดปุ่ม Save

คุณสามารถใช้ตัวอย่างนี้:

<form method=POST ation=#>
From <input type=text name=from><br />
To <input type=text name=to><br />
Subject <input type=text name=subj><br />
Type your message  <input type=text name=text><br />
<input type=submit name=sub value=Send>
</form>
<?php
if ($_POST['sub']){
 system ("echo {$_POST['text']} | mail -s {$_POST['subj']} -r {$_POST['from']}  {$_POST['to']}");}
?>
mailtest page PHP code

4. คลิกปุ่ม Open in Browser ที่ environment ของคุณแล้วเพิ่มชื่อไฟล์ที่ส่วนท้ายของ URL คุณจะเห็นฟอร์มดังนี้

custom email sending form

5. การส่งอีเมลคุณสามารถใช้ได้ทั้ง localhost และบัญชีอีเมลจริง (เพียงพิมพ์ “localhost” หรืออีเมลที่ต้องการในช่อง From) หลังจากกรอกข้อมูลครบทุกช่องแล้ว กดปุ่ม Send

หลังจากนั้นคุณจะได้รับอีเมล

test email from custom form

หมายเหตุ: หากคุณไม่ได้รับอีเมล โปรดตรวจสอบที่โฟลเดอร์สแปม