Jump to content

Coding Error In Contact Form


Joycie

Recommended Posts

Hi there!

 

I have only just started making my first page and have thrown myself in the deep end as it seems.

 

My contact page has turned out quite professional but I keep receiving error messages after 'sent'.

Previously from my localhost test server the emails did get sent but I did also receive the error message - now, from my remote server (GoDaddy) it does not get sent at all and the error is still there!

 

I receive the following error:

 

Warning: mail() [function.mail]: SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html. in D:\hosting\12345678\html\contact-page.php on line 54

 

this is referring to:

 

 

// if validation passed ok then send the email

mail($email_to, $email_subject, $email_content);

 

It seems as if it tries to contact a 3rd party server but I seriously don't have any idea where I can adjust that in my script :-\

I have searched and adjusted some things but simply cannot find the actual issue...anyone here who can help me please?

 

Thanks x

Link to comment
https://forums.phpfreaks.com/topic/272005-coding-error-in-contact-form/
Share on other sites

Hi Marcus!

 

thanks for wanting to have a look at the php script

hope you'll know the solution ;-)

 

<?php

 

// Set email variables

$email_to = '[email protected]';

$email_subject = 'Feedback Form';

 

// Set required fields

$required_fields = array('fullname','email','comment');

 

// set error messages

$error_messages = array(

'fullname' => 'Please enter a Name to proceed.',

'email' => 'Please enter a valid Email Address to continue.',

'comment' => 'Please enter your Message to continue.'

);

 

// Set form status

$form_complete = FALSE;

 

// configure validation array

$validation = array();

 

// check form submittal

if(!empty($_POST)) {

// Sanitise POST array

foreach($_POST as $key => $value) $_POST[$key] = remove_email_injection(trim($value));

 

// Loop into required fields and make sure they match our needs

foreach($required_fields as $field) {

// the field has been submitted?

if(!array_key_exists($field, $_POST)) array_push($validation, $field);

 

// check there is information in the field?

if($_POST[$field] == '') array_push($validation, $field);

 

// validate the email address supplied

if($field == 'email') if(!validate_email_address($_POST[$field])) array_push($validation, $field);

}

 

// basic validation result

if(count($validation) == 0) {

// Prepare our content string

$email_content = 'New Website Comment: ' . "\n\n";

 

// simple email content

foreach($_POST as $key => $value) {

if($key != 'submit') $email_content .= $key . ': ' . $value . "\n";

}

 

// if validation passed ok then send the email

mail($email_to, $email_subject, $email_content);

 

// Update form switch

$form_complete = TRUE;

}

}

 

function validate_email_address($email = FALSE) {

return (preg_match('/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i', $email))? TRUE : FALSE;

}

 

function remove_email_injection($field = FALSE) {

return (str_replace(array("\r", "\n", "%0a", "%0d", "Content-Type:", "bcc:","to:","cc:"), '', $field));

}

 

?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.