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' => '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