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:
# $params["host"] - The server to connect. Default is 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' => 'email@example.com');
$headers['From'] = 'firstname.lastname@example.org';
$headers['To'] = 'email@example.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
Originally from: IBCL BLog.
Originally posted: 2006-12-20