PHP Form mail script with smtp authentication

PHP mail() and SMTP Authentication

Part of what makes the PHP mail() function is so simple is its lack of flexibility. Most importantly and frustratingly, the stock mail() does not usually allow you to use the SMTP server of your choice, and it does not support SMTP authentication, required by many a mail server today, at all.

Fortunately, overcoming PHP's built-in shortcomings need not be difficult, complicated or painful either. For most email uses, the free PEAR Mail package offers all the power and flexibility needed, and it authenticates with your desired outgoing mail server, too. For enhanced security, secure SSL connections are supported.

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

<?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 - Example

<?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>");
   }
  ?>

  • 1 Users Found This Useful
Was this answer helpful?

Related Articles

ASP Form mail script with smtp authentication

  <%@ Import Namespace="System.Web.Mail" %>     <script language="VB"...

Setting file/folder permissions from Plesk control panel for Windows

For users on Plesk for Windows: Login to Plesk control panel using the URL ...

ASP.net Sample Form mail script with smtp authentication for Windows

    <%@ Import Namespace="System.Web.Mail" %>   <script language="VB"...

How to safeguard your website from iFrame Injection or iFrame Attack?

It's now a popular way of trying to load malware onto users' PCs without them going to an evil or...

Fair usage Policy

Our Fair Usage policy specifies the following Terms to be followed by the Web Hosting Customers...

Powered by WHMCompleteSolution