...

View Full Version : Problem With Sending Email Through PHP



michaelli321
08-23-2011, 07:05 PM
I downloaded and installed XAMPP on my computer, which includes mysql, php, apache, and mercury. I am currently running everything on localhost. I created a form that was supposed to send an email to me, but I get this error:


Warning: mail() [function.mail]: SMTP server response: 553 We do not relay non-local mail, sorry. in

Here is my code:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Contact Me</title>
</head>
<body>
<h1>Contact Me</h1>
<?php # Script 10.1 - email.php

// Check for form submission:
if (isset($_POST['submitted'])) {

// Minimal for validation:
if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['comments']) ) {

// Create the body:
$body = "Name: {$_POST['name']}\n\nComments: {$_POST['comments']}";

// Make it no longer than 70 characters long:
$body = wordwrap($body, 70);

// Send the email:
mail('li.michael1998@gmail.com', 'Contact Form Submission', $body, "From: {$_POST['email']}");

// Print a message:
echo '<p><em>Thank you for contacting me. I will reply some day.</em></p>';

// Clear $_POST (so that the form's not sticky):
$_POST = array();

} else {
echo '<p style="font-weight: bold; color: #C00">Please fill out the form completely.</p>';
}

} // End of main isset() IF.

// Create the HTML form:
?>
<p>Please fill out this form to contact me.</p>
<form action="email.php" method="post">
<p>Name: <input type="text" name="name" size="30" maxlength="60" value="<?php if (isset($_POST['name'])) echo $_POST['name']; ?>" /></p>
<p>Email Address: <input type="text" name="email" size="30" maxlength="80" value="<?php if (isset($_POST['email'])) echo $_POST['email']; ?>" /></p>
<p>Comments: <textarea name="comments" rows="5" cols="30"><?php if (isset($_POST['comments'])) echo $_POST['comments']; ?></textarea></p>
<p><input type="submit" name="submit" value="Send!" /></p>
<p><input type="hidden" name="submitted" value="TRUE" />
</form>
</body>
</html>


I'm not sure if I need to download something else, or configure php.ini or what. Any help?

tangoforce
08-23-2011, 07:12 PM
I think you'll find with xampp that you need to configure fakesendmail (or similar) to use an SMTP server. By that I mean you need to set your username and password.

michaelli321
08-23-2011, 07:28 PM
I think you'll find with xampp that you need to configure fakesendmail (or similar) to use an SMTP server. By that I mean you need to set your username and password.

Sorry I'm new to computer programming and stuff, how would I do that?

tangoforce
08-23-2011, 07:35 PM
Look in the xampp directory for a directory called fakesendmail (or similar). Go into it and set up the configuration file with your connection settings.

Shouldn't you be asking this on the xampp website? - The error you received is not POHP related. It's a reply from your ISPs SMTP server. Therefor this is not a PHP issue and really the most obvious (and best) place to ask is in the xampp support section of their website.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum