How to Send Email from a PHP Script 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.

Sending Mail from PHP Using SMTP Authentication - Example

<?php
require_once "Mail.php";

$from = "Sandra Sender ";
$to = "Ramona Recipient ";
$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("

" . $mail->getMessage() . "

");
 } else {
  echo("

Message successfully sent!

");
 }
?>

Sending Mail from PHP Using SMTP Authentication and SSL Encryption - Example

<?php
require_once "Mail.php";

$from = "Sandra Sender ";
$to = "Ramona Recipient ";
$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("

" . $mail->getMessage() . "

");
 } else {
  echo("

Message successfully sent!

");
 }
?>

Was this answer helpful?

 Print this Article

Also Read

Is IMAP supported?

IMAP is enabled by default on the shared hosting server plans, there is no configuration required...

How many emails can I send an hour?

365ezone shared servers allow an account to send a total of 200 (we can change without any...

Tips to solve email problem(s)

Check with your registrar and make sure that the domain name hasn't expired. Make sure that...

Why are my emails not getting to Hotmail or Yahoo customers ?

It is common for messages from certain IPs to be filtered based on the...

Google Apps Email Walkthrough

  The first thing you need to do to start using Google Apps is sign up for it. There is a...