Sending Emails from PHP (mail function)

Mail sending from PHP mail function is now restricted to local email address only. you need to add "-f return_email_address" as 5th parameter in mail function to get php to set the correct return email address.  To send email to external email addresses, use SMTP authentication code in PHP mail function.

Send Email from a PHP Script Using SMTP Authentication

To connect to an outgoing SMTP server from a PHP script using SMTP authentication and send an email:

  • Adapt 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

require_once "Mail.php";

$from = "Sender ";
$to = "Recipient ";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "localhost";
$port = "25";
$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 through GMAIL Account - Example

require_once "Mail.php";

$from = "Sender Name ";
$to = "Recepient Name ";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "gmail_email_address";
$password = "gmail_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!

");
 }
?>

Thanks.

Administrator

  • 7 Users Found This Useful
Was this answer helpful?

Related Articles

Sending Emails from Wordpress using SMTP

Install the plugin WP Mail SMTP This plugin reconfigures the wp_mail() function to use SMTP...

Sending Emails from ASP web page

Use the following code to send emails from asp web pages   <% Const cdoSendUsingPickup = 1...

Sending Emails from ASP through Gmail Email Account

Use the following code for sending emails from asp through your gmail account.   <% Const...