day_tripperz Posted March 24, 2007 Share Posted March 24, 2007 am using the following code to send form content to my email address. I am having problems with spam. What can I do to fix this problem. Any code would be very helpful. I am new to PHP <?php $msg = "My Website Online Contact Submission\n"; $msg .= "Name: $name\n"; $msg .= "Comments: $emailAddress\n\n"; $msg .= "Comments: $phone\n\n"; $msg .= "Comments: $message\n\n"; $to = "[email protected]"; $subject = "CONTACT FROM WEBSITE"; $mailheaders = "From: Website Submission Form <$emailAddress>\n"; $mailheaders .= "Reply-To:$Email_Address <$emailAddress>\n\n"; // Mail to address mail ( $to, $subject, $msg, $mailheaders ); ?> Link to comment https://forums.phpfreaks.com/topic/44135-email-spam/ Share on other sites More sharing options...
DeathStar Posted March 24, 2007 Share Posted March 24, 2007 [ code ][ /code ] PLEASE! try if statements Link to comment https://forums.phpfreaks.com/topic/44135-email-spam/#findComment-214297 Share on other sites More sharing options...
day_tripperz Posted March 24, 2007 Author Share Posted March 24, 2007 Cheers Link to comment https://forums.phpfreaks.com/topic/44135-email-spam/#findComment-214301 Share on other sites More sharing options...
DeathStar Posted March 24, 2007 Share Posted March 24, 2007 What kind of spam do you get just invalid email addresses: function valid_email ($email) { // First, we check that there's one @ symbol, and that the lengths are right if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) { // Email invalid because wrong number of characters in one section, or wrong number of @ symbols. return false; } // Split it into sections to make life easier $email_array = explode("@", $email); $local_array = explode(".", $email_array[0]); for ($i = 0; $i < sizeof($local_array); $i++) { if (!ereg( "^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) { return false; } } if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name $domain_array = explode(".", $email_array[1]); if (sizeof($domain_array) < 2) { return false; // Not enough parts to domain } for ($i = 0; $i < sizeof($domain_array); $i++) { if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) { return false; } } } return true; } if (!valid_email($_POST['email'])) { print "<center><div class=error>Sorry, the email is invalid.</div></font>"; } Link to comment https://forums.phpfreaks.com/topic/44135-email-spam/#findComment-214304 Share on other sites More sharing options...
day_tripperz Posted March 24, 2007 Author Share Posted March 24, 2007 Yes Link to comment https://forums.phpfreaks.com/topic/44135-email-spam/#findComment-214363 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.