Jump to content

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

Edited by PFMaBiSmAd
removed wysiwyg formatting
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 = 'me@mail.net';

$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));

}

 

?>

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.