Recently I changed server for hosting my php site, but I have found out that I cannot automatically send emails from my contact form, either to myself or to the sender. I have done a phpinfo test of my current server and below is a section of the results, these I believe are relevant to me not being able to send emails. safe_mode On Off safe_mode_exec_dir no value no value safe_mode_gid Off Off safe_mode_include_dir no value no value sendmail_from no value no value sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i serialize_precision 100 100 short_open_tag On On SMTP localhost localhost smtp_port 25 25 Below is the code I am using to try and get the emails generated automatically, but without any joy whatsoever. <?php $subt=$_POST['Send']; if ( isset($subt) ) : ?> <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link href="http:/www.my-site.com/style-sheet.css" rel="stylesheet" type="text/css"/> <title>Contact Form</title> </head> <body> <?php $Name=$_POST['name']; $Email=$_POST['mail']; $Comments=$_POST['comments']; include("Mail.php"); $recipients = "me@my-site.com"; $headers["From"] = $Email; $headers["To"] = "me@my-site.com"; $headers["Subject"] = "Website Feedback"; $body = $Comments; $params["host"] = "smtp.my-site.com"; $params["port"] = "25"; $params["auth"] = true; $params["username"] = "me@my-site.com"; $params["password"] = "password"; // Create the mail object using the Mail::factory method $mail_object =& Mail::factory("smtp", $params); $didit = $mail_object->send($recipients, $headers, $body); if (!$didit) { echo("Your message has not been received, please try contacting us later"); // any code you want } else{ echo("Thank you $Name we have received your comments, we will get back to you at $Email about $Comments"); // any code you want } ?> </body> </html> <?php else: ?> <html> <head> <link href="http://www.my-site.com/style-sheet.css" rel="stylesheet" type="text/css"/> <title>Please tell us your name</title> </head> <div class="centre"> <form method="POST" action="<?=$PHP_SELF?>"> <body> <h1>Contact Us</h1> Please enter your name: <p>Name: <input name="name" type="text"></p> <p>Email: <input name="mail" type="text"></p> <p>Comments: <input name="comments" type="textarea" id="textarea" rows="4" cols="50"></p> <p><input type="submit" name="Send" value="Submit"> <input type="reset" name="Submit2" value="Reset"></p> </form> </div> </body> </html> <?php endif; ?> Code (markup): If anyone can help me I would very much appreciate it. I would also like to know if there is a way that I can use the following code, either in conjunction or adapted to meet the requirements in this script. It is a script I found on Codewalkers. <?php //new function ?> $to = "post@example.com"; $nameto = "Who To"; $from = "post@example.com"; $namefrom = "Who From"; $subject = "Hello World Again!"; $message = "World, Hello!" authSendEmail($from, $namefrom, $to, $nameto, $subject, $message); <?php /* * * * * * * * * * * * * * SEND EMAIL FUNCTIONS * * * * * * * * * * * * * */ //Authenticate Send - 21st March 2005 //This will send an email using auth smtp and output a log array //logArray - connection, function authSendEmail($from, $namefrom, $to, $nameto, $subject, $message) { //SMTP + SERVER DETAILS /* * * * CONFIGURATION START * * * */ $smtpServer = "mail.my-domain.com"; $port = "25"; $timeout = "30"; $username = "me@my-domain.com"; $password = "password"; $localhost = "localhost"; $newLine = "\r\n"; /* * * * CONFIGURATION END * * * * */ //Connect to the host on the specified port $smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout); $smtpResponse = fgets($smtpConnect, 515); if(empty($smtpConnect)) { $output = "Failed to connect: $smtpResponse"; return $output; } else { $logArray['connection'] = "Connected: $smtpResponse"; } //Request Auth Login fputs($smtpConnect,"AUTH LOGIN" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['authrequest'] = "$smtpResponse"; //Send username fputs($smtpConnect, base64_encode($username) . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['authusername'] = "$smtpResponse"; //Send password fputs($smtpConnect, base64_encode($password) . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['authpassword'] = "$smtpResponse"; //Say Hello to SMTP fputs($smtpConnect, "HELO $localhost" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['heloresponse'] = "$smtpResponse"; //Email From fputs($smtpConnect, "MAIL FROM: $from" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['mailfromresponse'] = "$smtpResponse"; //Email To fputs($smtpConnect, "RCPT TO: $to" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['mailtoresponse'] = "$smtpResponse"; //The Email fputs($smtpConnect, "DATA" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['data1response'] = "$smtpResponse"; //Construct Headers $headers = "MIME-Version: 1.0" . $newLine; $headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine; $headers .= "To: $nameto <$to>" . $newLine; $headers .= "From: $namefrom <$from>" . $newLine; fputs($smtpConnect, "To: $to\nFrom: $from\nSubject: $subject\n$headers\n\n$message\n.\n"); $smtpResponse = fgets($smtpConnect, 515); $logArray['data2response'] = "$smtpResponse"; // Say Bye to SMTP fputs($smtpConnect,"QUIT" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['quitresponse'] = "$smtpResponse"; } ?> Code (markup):