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

วิธีเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ขาออกจากสคริปต์ PHP

การส่งอีเมลจากสคริปต์ PHP เป็นเรื่องง่ายรวดเร็วและใช้งานง่าย ... ถ้าใช้งานได้!

ส่วนหนึ่งของสิ่งที่ทำให้ PHP mail () ทำงานง่าย ๆ คือการขาดความยืดหยุ่น แต่ปัญหาหนึ่งนั่นคือสต็อก PHP mail () ไม่อนุญาตให้คุณใช้ เซิร์ฟเวอร์ SMTP ตามที่ คุณต้องการและไม่เป็นเช่นนั้น สนับสนุนการรับรองความถูกต้องของ SMTP

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

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

เมื่อต้องการเริ่มต้นติดตั้งแพคเกจอีเมล PEAR โดยปกติแล้วนี้จะได้รับการทำสำหรับคุณด้วย PHP 4 ขึ้นไป แต่ถ้าคุณไม่แน่ใจว่าคุณมีอยู่แล้วหรือไม่ให้ดำเนินการต่อและติดตั้ง

คัดลอกรหัสนี้:

Sandra Sender >"; $ to = " ผู้รับ Ramona "; $ subject = "สวัสดีค่ะ"; $ body = "สวัสดี \ n \ n คุณเป็นอย่างไร?"; $ host = " mail.example.com "; $ username = " smtp_username "; $ password = " smtp_password "; $ headers = array ('From' => $ จาก, 'To' => $ ไป, 'Subject' => $ หัวเรื่อง); $ smtp = อีเมล :: โรงงาน ('smtp', array ('host' => $ host, 'auth' => true, 'username' => $ username, 'password' => $ password)); $ mail = $ smtp-> ส่ง ($ ไป, $ ส่วนหัว, $ body); ถ้า (PEAR :: isError ($ mail)) {echo ("

". $ mail-> getMessage (). ""); } else {echo ("

ส่งข้อความเรียบร้อยแล้ว! "); }?>

ค้นหาข้อความที่เป็นตัวหนาทั้งหมดในตัวอย่างของเราและเปลี่ยนพื้นที่เหล่านั้นในสคริปต์เป็นสิ่งที่เกี่ยวข้องกับคุณ นี่เป็นพื้นที่เฉพาะที่คุณ ต้อง เปลี่ยนเพื่อให้สคริปต์ PHP ทำงานได้ แต่ต้องแน่ใจว่าได้ปรับเปลี่ยนเรื่องและเนื้อหาด้วยเช่นกัน

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

หมายเหตุ: ตัวอย่างข้างต้นเป็นสคริปต์ PHP ที่ส่งอีเมลที่มีการตรวจสอบสิทธิ์ SMTP แต่ ไม่มี การเข้ารหัส SSL หากต้องการเข้ารหัสด้วยให้ใช้สคริปต์นี้แทนการแลกเปลี่ยนข้อความตัวหนากับข้อมูลของคุณอีกครั้ง

Sandra Sender >"; $ to = " ผู้รับ Ramona >"; $ subject = "สวัสดีค่ะ"; $ body = "สวัสดี \ n \ n คุณเป็นอย่างไร?"; $ host = " ssl: //mail.example.com "; $ port = " 465 "; $ username = " smtp_username "; $ password = " smtp_password "; $ headers = array ('From' => $ จาก, 'To' => $ ไป, 'Subject' => $ หัวเรื่อง); $ smtp ',' array '(' host '=> $ host,' port '=> $ port,' auth '=> true,' username '=> $ username,' password '=> $ รหัสผ่าน)); $ mail = $ smtp-> ส่ง ($ ไป, $ ส่วนหัว, $ body); ถ้า (PEAR :: isError ($ mail)) {echo ("

". $ mail-> getMessage (). ""); } else {echo ("

ส่งข้อความเรียบร้อยแล้ว! "); }?>