چگونگی ارسال ایمیل همراه با تصدیقMail Authentication از طریق PHP Script

Root Folder > Web Hosting

یکی از معایب تابع php mail() که برای ارسال ایمیل از طریق کد PHP استفاده می شود، عدم امکان برقراری SMTP Authentication با سرویس دهنده ایمیل می باشد. با توجه به اینکه امروزه استفاده از Authentication امری ضروری می باشد، به ناچار باید پکیج های دیگری استفاده کرد.

برای این امر استفاده از پکیج pear که به صورت رایگان عرضه می شود، مناسب می نماید. ابتدا این پکیج  PEAR Mail package را بر روی سرور نصب نمایید. توجه نمایید که بر روی سرورهای شرکت روند تازه این پکیج نصب شده است. اینک می توانید از نمونه کدهای زیر استفاده نمایید.

·         from: آدرسی که می خواهید از آن ایمیل ارسال شود

·         to: آدرس ایمیل گیرنده

·         host: نام کامل یا آدرس آی پی سرویس دهنده ایمیل

·         username: آدرس کامل ایمیل فرستنده

·         password: رمز عبور اکانت ایمیل فرستنده

Sending Mail from PHP Using SMTP Authentication - مثال

<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <recipient@example.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "mail.example.com";
$username = "smtp_username";
$password = "smtp_password";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

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

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }
?>

Sending Mail from PHP Using SMTP Authentication and SSL Encryption -

<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <recipient@example.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "ssl://mail.example.com";
$port = "465";
$username = "smtp_username";
$password = "smtp_password";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));

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

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }
?>

 

Add Feedback