smtp mailbox php open code example

Example 1: send email php smtp

I migrated an application to a platform without a local transport agent (MTA). I did not want to configure an MTA, so I wrote this xxmail function to replace mail() with calls to a remote SMTP server. Hopefully it is of some use.

function xxmail($to, $subject, $body, $headers)
{
 $smtp = stream_socket_client('tcp://smtp.yourmail.com:25', $eno, $estr, 30);

 $B = 8192;
 $c = "\r\n";
 $s = '[email protected]';

 fwrite($smtp, 'helo ' . $_ENV['HOSTNAME'] . $c);
  $junk = fgets($smtp, $B);

 // Envelope
 fwrite($smtp, 'mail from: ' . $s . $c);
  $junk = fgets($smtp, $B);
 fwrite($smtp, 'rcpt to: ' . $to . $c);
  $junk = fgets($smtp, $B);
 fwrite($smtp, 'data' . $c);
  $junk = fgets($smtp, $B);

 // Header 
 fwrite($smtp, 'To: ' . $to . $c); 
 if(strlen($subject)) fwrite($smtp, 'Subject: ' . $subject . $c); 
 if(strlen($headers)) fwrite($smtp, $headers); // Must be \r\n (delimited)
 fwrite($smtp, $headers . $c); 

 // Body
 if(strlen($body)) fwrite($smtp, $body . $c); 
 fwrite($smtp, $c . '.' . $c);
  $junk = fgets($smtp, $B);

 // Close
 fwrite($smtp, 'quit' . $c);
  $junk = fgets($smtp, $B);
 fclose($smtp);
}

Example 2: php mail function smtp settings

//Setup the SMTP server settings !
//INI Setup not needed on Linux when sendmail or postfix is installed
//mail DOES not support AUTH - USE ONLY WITH OPEN RELAY
ini_set("SMTP", "smtp.example.com");
ini_set("smtp_port", 25);
ini_set("sendmail_from", "[email protected]");

//DO NOT WASTE TIME SETTING THESE BELOW FOR AUTH - JUST USE PHP MAILER
/*
auth_username = username 
auth_password = password 
OR
username = username 
password = password 
*/


$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

$headers .= 'From:No Reply<[email protected]>' . "\r\n";
$headers .= 'Reply-To:Info<[email protected]>' . "\r\n";
$headers .= 'Cc:Carbon<[email protected]>' . "\r\n";


mail("[email protected]", "Subject", "Hello World!", $headers);

Tags:

Php Example