Correct SMTP-Mailing with PHP

PHP's mail() function is not usable in Shared-Hosting environments. 
Here is how to use SMTP for mailing with PHP: 

First, one needs Pear::Mail (see Pear.php.net). 

Next, in safemode open_basedir must includes /usr/share/php (with Debian's Pear::Mail package). 

Last not least the PHP code: 

include("Mail.php");

# $params["host"] - The server to connect. Default is localhost

$params["host"]="localhost";
# $params["port"] - The port to connect. Default is 25 # $params["auth"] - Whether or not to use SMTP authentication. Default is FALSE # $params["username"] - The username to use for SMTP authentication. # $params["password"] - The password to use for SMTP authentication. # $params["persist"] - Indicates whether or not the SMTP connection # should persist over multiple calls to the send() method. $recipients = array('To' => 'johndoe@foo.com'); $headers['From'] = 'johndoe@foo.com'; $headers['To'] = 'johndoe@foo.com'; $headers['Subject'] = "Foo topic"; $mail_object =& Mail::factory('smtp', $params); $mail_object->send($recipients, $headers, $message);

 

Remark: As of 2014-12-30, all web servers hosted at ITEG with PHP support also have Pear::Mail installed, as debian package php-mail.

 


Originally from: IBCL BLog.
Originally posted: 2006-12-20