วิธีการส่งอีเมลจากสคริปต์ PHP โดยใช้การตรวจสอบสิทธิ์ SMTP

สารบัญ:

วิธีการส่งอีเมลจากสคริปต์ PHP โดยใช้การตรวจสอบสิทธิ์ SMTP
วิธีการส่งอีเมลจากสคริปต์ PHP โดยใช้การตรวจสอบสิทธิ์ SMTP
Anonim

ต้องรู้

  • ตัวเลือกคลาส PHP: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail
  • PEAR Mail: หมายเหตุชื่อเซิร์ฟเวอร์เมล > ตรวจสอบว่าติดตั้ง PEAR Mail แล้ว > แก้ไขไฟล์ PHP โดยใช้ตัวอย่างที่ให้มา

บทความนี้อธิบายวิธีใช้การพิสูจน์ตัวตน SMTP เพื่อส่งอีเมลด้วยฟังก์ชัน PHP mail() ใน PEAR Mail

การส่งอีเมลด้วยฟังก์ชันเมล PHP

เมื่อคุณใช้ฟังก์ชัน PHP mail() คุณจะต้องส่งอีเมลจากเว็บเซิร์ฟเวอร์โดยตรงแทนที่จะเป็นเซิร์ฟเวอร์อีเมลของคุณ หากคุณมีเซิร์ฟเวอร์อีเมลผ่านโฮสต์เว็บของคุณ หรือแม้แต่เซิร์ฟเวอร์อีเมลที่มีโฮสต์อื่น มักจะดีกว่าที่จะส่งอีเมลผ่านโฮสต์นั้นแทน

ปัญหาคือฟังก์ชัน PHP mail() ไม่มีวิธีการส่งจดหมายผ่าน SMTP ในตัว หากคุณต้องการเปิดฟังก์ชันดังกล่าว คุณจะต้องติดตั้งคลาส PHP เพิ่มเติม

ตัวเลือกที่ใช้ได้มีดังนี้

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • เมลแพร์

เราจะแสดงวิธีใช้ PEAR Mail ให้คุณดู แต่คุณสามารถใช้คลาสใดก็ได้ที่รองรับ SMTP

Image
Image

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

ใช้วิธีนี้เฉพาะเมื่อคุณใช้ PHP เพื่อสร้างแบบฟอร์มอีเมลที่กำหนดเอง หากคุณกำลังใช้ระบบจัดการเนื้อหา (CMS) เช่น WordPress ให้มองหาปลั๊กอินหรือฟังก์ชันในตัวเพื่อส่งอีเมลผ่าน SMTP แทนที่จะพยายามสร้างของคุณเอง

วิธีใช้ PEAR เพื่อส่งอีเมลผ่าน SMTP

  1. ตรวจสอบให้แน่ใจว่าโดเมนของคุณชี้ไปที่ระเบียน Mail Exchange (MX) ของโฮสต์เซิร์ฟเวอร์อีเมลของคุณและจดชื่อเซิร์ฟเวอร์อีเมลของคุณ ตัวอย่างเช่น อาจเป็น mail.yourdomain.net หรือ smtp.yourdomain.net.
  2. ตรวจดูว่า PEAR Mail ได้รับการติดตั้งบนเซิร์ฟเวอร์อีเมลของคุณแล้วหรือไม่
  3. หากไม่ได้ติดตั้ง PEAR Mail ให้ปรึกษากับโฮสต์เว็บเมลของคุณเพื่อขอคำแนะนำในการติดตั้ง
  4. เมื่อติดตั้ง PEAR Mail แล้ว ให้แก้ไขหนึ่งในไฟล์ PHP ตัวอย่างในส่วนต่อไปนี้เพื่อให้เหมาะกับความต้องการของคุณ

ตัวอย่างสคริปต์ PHP ของเมล PEAR สำหรับอีเมล SMTP

คุณสามารถสร้างสคริปต์ของคุณเองตั้งแต่เริ่มต้นได้หากต้องการ หรือแก้ไขตัวอย่างต่อไปนี้ตามที่คุณต้องการ ตรวจสอบให้แน่ใจว่าได้ป้อนชื่อเว็บเมลเซิร์ฟเวอร์ของคุณในตัวแปรโฮสต์ และใช้ข้อมูลการเข้าสู่ระบบสำหรับโฮสต์เว็บเมลของคุณในฟิลด์ชื่อผู้ใช้และรหัสผ่าน

require_once "Mail.php";

$from="ชื่อผู้ส่ง ";

$to="ชื่อผู้รับ ";

$ subject=" Subject Line Here: ";

$body=" ข้อความใด ๆ ที่คุณต้องการ ";

$host="yourmailhost.com";

$username="ชื่อผู้ใช้หรืออีเมลของคุณ"; $password="รหัสผ่านของคุณ";

$headers=array ('จาก'=> $จาก

'To'=> $to, 'Subject'=> $ subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'auth'=> จริง

'ชื่อผู้ใช้'=> $ชื่อผู้ใช้

'รหัสผ่าน'=> $รหัสผ่าน));

$mail=$smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} อื่น ๆ {echo("

ส่งข้อความสำเร็จแล้ว!

);}

ตัวอย่างสคริปต์ PHP ของเมล PEAR สำหรับการตรวจสอบสิทธิ์ SMTP และการเข้ารหัส SSL

หากคุณต้องการใช้การตรวจสอบสิทธิ์ SMTP และการเข้ารหัส SSL คุณจะต้องแก้ไขตัวอย่างก่อนหน้านี้เล็กน้อย คุณจะต้องชี้ตัวแปรโฮสต์ไปที่เซิร์ฟเวอร์อีเมล SSL และระบุหมายเลขพอร์ต เช่น 25, 465, 587, 2525 หรือ 8025 โปรดติดต่อโฮสต์เว็บเมลของคุณเพื่อขอข้อมูลเพิ่มเติม หากคุณไม่ทราบพอร์ตที่ต้องการ ใช้

require_once "Mail.php";

$from="ชื่อผู้ส่ง ";

$to="ชื่อผู้รับ ";

$ subject=" Subject Line Here: ";

$body=" ข้อความใด ๆ ที่คุณต้องการ ";

$host="ssl://yourmailhost.com";

$port="587"; $username="ชื่อผู้ใช้หรืออีเมลของคุณ";

$password="รหัสผ่านของคุณ";

$headers=array ('จาก'=> $จาก, ' ถึง'=> $to, 'Subject'=> $ subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'port'=> $port, 'auth'=> true, 'username'=> $ชื่อผู้ใช้, 'password'=> $รหัสผ่าน));

$mail=$smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} อื่น ๆ {echo("

ส่งข้อความสำเร็จแล้ว!

);}

แนะนำ: