Sending Mail from PHP Using SMTP Authentication


The example below for your needs. Make sure you change the following variables at least:

  • from: the email address from which you want the message to be sent.
  • to: the recipient’s email address and name.
  • host: your outgoing SMTP server name.
  • username: the SMTP user name (typically the same as the user name used to retrieve mail).
  • password: the password for SMTP authentication.
<?php
 require_once "Mail.php";

 $from = "Sender <sender@example.com>";
 $to = "Recipient <recipient@example.com>";
 $subject = "Hi!";
 $body = "Hi, How 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>");
  }
 ?>

and send html and text header add to $header array.

$headers = array ("MIME-Version"=> '1.0', 
"Content-type" => "text/html; charset=iso-8859-1",
"From" => $from,
"To" => $to,
"Subject" => $subject); 
?>

One thought on “Sending Mail from PHP Using SMTP Authentication

Leave a comment