PHP script for email
#1
PHP script for email
Hello,

I just set up a website and I wanted to be able to use a contact form and have that information sent to me via email. I have a php script. When I try to submit the information in the contact form, I get an error 500 saying my site was not set up to do that. Is there some configuration I need to do? Sorry I'm new to this.
Thank you

My method for getting emails from the contact page might not be the best. If anyone could suggest a tool I could use that would be more secure and reliable, I would be grateful. Thank you!
#2
RE: PHP script for email
without seeing the script it's just a guessing game.

My Sentora DemoMy GithubAuxio Github
Zentora themeS-Type themeCstyleX theme
flat-color-iconssmall-n-flat-icons

Sentora's development takes way too long, so i'm transitioning to HestiaCP.
#3
RE: PHP script for email
PHP Code:
<?php
/*
This first bit sets the email address that you want the form to be submitted to.
You will need to change this value to a valid email address that you can access.
*/
$webmaster_email "name@domain.com";

/*
This bit sets the URLs of the supporting pages.
If you change the names of any of the pages, you will need to change the values here.
*/
$feedback_page "feedback_form.html";
$error_page "error_message.html";
$thankyou_page "thank_you.html";

/*
This next bit loads the form field data into variables.
If you add a form field, you will need to add it here.
*/
$email_address $_REQUEST['email'] ;
$name $_REQUEST['name'] ;
$nationality $_REQUEST['nationality'] ;
$age $_REQUEST['age'] ;
$city $_REQUEST['city'] ;
$major $_REQUEST['major'] ;

$bachelor =$_REQUEST['bachelor'] ;
$master $_REQUEST['master'] ;
$phd $_REQUEST['phd'] ;
$diploma $_REQUEST['diploma'] ;
$chinese $_REQUEST['chinese'] ;
$other $_REQUEST['other'] ;


$comments $_REQUEST['comments'] ;

$msg 
"First Name: " $name "\r\n" 
"Email: " $email_address "\r\n" 
"Nationality: " .$nationality "\r\n".
"Age: " $age "\r\n".
"Desired City: " $city "\r\n".
"Desired Major: " $major "\r\n".

"Bachelor: " . (isset($bachelor) ? "Bachelor Yes" "Bachelor No") . "\r\n" .

 
 "Masters: " . (isset($master) ? "Master Yes" "Master No") . "\r\n" .

 
 "PhD: " . (isset($phd) ? "PhD Yes" "PhD No") . "\r\n" .

"Diploma: " . (isset($diploma) ? "Diploma Yes" "Diploma No") ."\r\n" .

"Chinese: " . (isset($chinese) ? "Chinese Yes" "Chinese No") . "\r\n" .
"Other: " . (isset($other) ? "Other Yes" "Other No") . "\r\n" .
    
"Comments: " $comments . ;

/*
The following function checks for email injection.
Specifically, it checks for carriage returns - typically used by spammers to inject a CC list.
*/
function isInjected($str) {
    
$injections = array('(\n+)',
    
'(\r+)',
    
'(\t+)',
    
'(%0A+)',
    
'(%0D+)',
    
'(%08+)',
    
'(%09+)'
    
);
    
$inject join('|'$injections);
    
$inject "/$inject/i";
    if(
preg_match($inject,$str)) {
        return 
true;
    }
    else {
        return 
false;
    }
}

// If the user tries to access this script directly, redirect them to the feedback form,
if (!isset($_REQUEST['email_address'])) {
header"Location: $feedback_page);
}

// If the form fields are empty, redirect to the error page.
elseif (empty($first_name) || empty($email_address)) {
header"Location: $error_page);
}

/* 
If email injection is detected, redirect to the error page.
If you add a form field, you should add it here.
*/
elseif ( isInjected($email_address) || isInjected($first_name || isInjected($comments) ) {
header"Location: $error_page);
}

// If we passed all previous tests, send the email then redirect to the thank you page.
else {

    
mail"$webmaster_email""Feedback Form Results"$msg );

    
header"Location: $thankyou_page);
}
?>
(01-31-2020, 02:07 AM)Ron-e Wrote: without seeing the script it's just a guessing game.

Thanks for directing my attention to the code. I tried a different PHP script, and the email was successful. I appreciate your help


Possibly Related Threads…
Thread Author Replies Views Last Post
change username from email umarzuki@gmail.com 0 2 ,297 11-25-2022, 05:46 PM
Last Post: umarzuki@gmail.com
Email has stopped coming through rsthomas 3 6 ,771 06-21-2022, 12:05 PM
Last Post: fearworks
spammer email plateform sentora scram 8 20 ,541 04-03-2020, 05:43 PM
Last Post: 5050

Forum Jump:


Users browsing this thread: 1 Guest(s)