Jump to content

php email form


Recommended Posts

Hi my page visualmemoriesonline.com/contact.html the form doesnt send to my email; info@visualmemoriesonline.com

 

im using a formmailer.php action. Does that need tweaking? heres the code;

 

<?php
////////////////////////////////////////////////////////////////////////////
// dB Masters' PHP FormM@iler, Copyright (c) 2007 dB Masters Multimedia
// http://www.dbmasters.net/
// FormMailer comes with ABSOLUTELY NO WARRANTY
// Licensed under the AGPL
// See license.txt and readme.txt for details
////////////////////////////////////////////////////////////////////////////
// General Variables
$check_referrer="no";
$referring_domains="http://domain.com/,http://www.domain.com/,http://subdomain.domain.com/";

// options to use if hidden field "config" has a value of 0
// recipient info
$charset[0]="UTF-8";
$tomail[0]="info@visualmemoriesonline.com";
$cc_tomail[0]="info@visualmemoriesonline.com";
$bcc_tomail[0]="";
// Mail contents config
$subject[0]="Subject of Email";
$reply_to_field[0]="Email";
$reply_to_name[0]="Name";
$required_fields[0]="Name,Comments";
$required_email_fields[0]="Email";
$attachment_fields[0]="";
$return_ip[0]="yes";
$mail_intro[0]="The following are form results from your web site:";
$mail_fields[0]="Name,Email,Comments";
$mail_type[0]="text";
$mail_priority[0]="1";
$allow_html[0]="no";
// Send back to sender config
$send_copy[0]="no";
$copy_format[0]="vert_table";
$copy_fields[0]="Name,Comments";
$copy_attachment_fields[0]="";
$copy_subject[0]="Subject of Copy Email";
$copy_intro[0]="Thanks for your inquiry, the following message has been delivered.";
$copy_from[0]="noreply@yourdomain.com";
$copy_tomail_field[0]="Email";
// Result options
$header[0]="info@visualmemoriesonline.com";
$footer[0]="";
$error_page[0]="";
$thanks_page[0]="";
// Default Error and Success Page Variables
$error_page_title[0]="Errors:";
$error_page_text[0]="Please use your browser's back button to return to the form and complete the required fields.";
$thanks_page_title[0]="Message Sent";
$thanks_page_text[0]="Thank you for your inquiry";
// Antispam Options
$empty_field[0]="nospam";
$character_scan[0]="Comments,Name";
$time_delay[0]="2";
$captcha_codes[0]="9C2449,EEADC8,77A585,D72838";
$max_urls[0]="2";
$max_url_fields[0]="Comments";
$flag_spam[0]="";

// options to use if hidden field "config" has a value of 1
// recipient info
$charset[1]="";
$tomail[1]="";
$cc_tomail[1]="";
$bcc_tomail[1]="";
// Mail contents config
$subject[1]="";
$reply_to_field[1]="";
$reply_to_name[1]="";
$required_fields[1]="";
$required_email_fields[1]="";
$attachment_fields[1]="";
$return_ip[1]="";
$mail_intro[1]="";
$mail_fields[1]="";
$mail_type[1]="";
$mail_priority[1]="";
$allow_html[1]="";
// Send back to sender config
$send_copy[1]="";
$copy_format[1]="";
$copy_fields[1]="";
$copy_attachment_fields[1]="";
$copy_subject[1]="";
$copy_intro[1]="";
$copy_from[1]="";
$copy_tomail_field[1]="";
// Result options
$headers = "From: info@visualmemoriesonline.com\n" .
"Reply-to: " . $_REQUEST['email'] . "\n";

$header[1]="info@visualmemoriesonline.com";
$footer[1]="";
$error_page[1]="";
$thanks_page[1]="";
// Default Error and Success Page Variables
$error_page_title[1]="";
$error_page_text[1]="";
$thanks_page_title[1]="";
$thanks_page_text[1]="";
// Antispam Options
$empty_field[1]="";
$character_scan[1]="";
$time_delay[1]="";
$captcha_codes[1]="";
$max_urls[1]="";
$max_url_fields[1]="";
$flag_spam[1]="";

/////////////////////////////////////////////////////////////////////////
// Don't muck around past this line unless you know what you are doing //
/////////////////////////////////////////////////////////////////////////

ob_start();
$config=$_POST["config"];
$debug=0;
$debug_text="";

// fix for Windows email server security
ini_set("sendmail_from",$tomail[$config]);

// email validation regular expression
$regex = "^[-a-z0-9!#$%&\'*+/=?^_`{|}~]+(\.[-a-z0-9!#$%&\'*+/=?^_`{|}~]+)*@(([a-z0-9]([-a-z0-9]*[a-z0-9]+)?){1,63}\.)+([a-z]([-a-z0-9]*[a-z0-9]+)?){2,63}$";
$header_injection_regex = "(\r|\n)";

if($header[$config]!="")
include($header[$config]);

if($_POST["submit"] || $_POST["Submit"] || $_POST["submit_x"] || $_POST["Submit_x"])
{

////////////////////////////
// begin global functions //
////////////////////////////
// get visitor IP
function getIP()
{
	if(getenv(HTTP_X_FORWARDED_FOR))
		$user_ip=getenv("HTTP_X_FORWARDED_FOR");
	else
		$user_ip=getenv("REMOTE_ADDR");
	return $user_ip;
}
// get value of given key
function parseArray($key)
{
	$array_value=$_POST[$key];
	$count=1;
	extract($array_value);
	foreach($array_value as $part_value)
	{
		if($count > 1){$value.=", ";}
		$value.=$part_value;
		$count=$count+1;
	}
	return $value;
}
// stripslashes and autolink url's
function parseValue($value)
{
	$value=preg_replace("/(http:\/\/+.[^\s]+)/i",'<a href="\\1">\\1</a>', $value);
	return $value;
}
// html header if used
function htmlHeader()
{
	$htmlHeader="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n<html>\n<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$charset[$config]."\"></head>\n<body>\n<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"600\">\n";
	return $htmlHeader;
}
// html footer if used
function htmlFooter()
{
	$htmlFooter="</table>\n</body>\n</html>\n";
	return $htmlFooter;
}
// build verticle table format
function buildVertTable($fields, $intro, $to, $send_ip)
{
	$message=htmlHeader();
	if($intro != "")
		$message.="<tr>\n<td align=\"left\" valign=\"top\" colspan=\"2\">".$intro."</td>\n</tr>\n";
	$fields_check=preg_split('/,/',$fields);
	$run=sizeof($fields_check);
	for($i=0;$i<$run;$i++)
	{
		$cur_key=$fields_check[$i];
		$cur_value=$_POST[$cur_key];
		if(is_array($cur_value))
		{
			$cur_value=parseArray($cur_key);
		}
		$cur_value=parseValue($cur_value);
		if($allow_html[$config]=="no")
			$cur_value=htmlspecialchars(nl2br($cur_value));
		else
			$cur_value=nl2br($cur_value);
		$message.="<tr>\n<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>".$cur_key."</b></td>\n<td align=\"left\" valign=\"top\" width=\"100%\">".$cur_value."</td>\n</tr>\n";
	}
	if($send_ip=="yes" && $to=="recipient")
	{
		$user_ip=getIP();
		$message.="<tr>\n<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>Sender IP</b></td>\n<td align=\"left\" valign=\"top\" width=\"100%\">".$user_ip."</td>\n</tr>\n";
	}
	$message.=htmlFooter();
	return $message;
}
// build horizontal table format
function buildHorzTable($fields, $intro, $to, $send_ip)
{
	$message=htmlHeader();
	$fields_check=preg_split('/,/',$fields);
	$run=sizeof($fields_check);
	if($intro != "")
		$message.="<tr>\n<td align=\"left\" valign=\"top\" colspan=\"".$run."\">".$intro."</td>\n</tr>\n";
	$message.="<tr>\n";
	for($i=0;$i<$run;$i++)
	{
		$cur_key=$fields_check[$i];
		$message.="<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>".$cur_key."</b></td>\n";
	}
	if($send_ip=="yes" && $to=="recipient")
		$message.="<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>Sender IP</b></td>\n";
	$message.="</tr>\n";
	$message.="<tr>\n";
	for($i=0;$i<$run;$i++)
	{
		$cur_key=$fields_check[$i];
		$cur_value=$_POST[$cur_key];
		if(is_array($cur_value))
		{
			$cur_value=parseArray($cur_key);
		}
		$cur_value=parseValue($cur_value);
		if($allow_html[$config]=="no")
			$cur_value=htmlspecialchars(nl2br($cur_value));
		else
			$cur_value=nl2br($cur_value);
		$message.="<td align=\"left\" valign=\"top\">".$cur_value."</td>\n";
	}
	$message.="</tr>\n";
	$message.="<tr>\n";
	if($send_ip=="yes" && $to=="recipient")
	{
		$user_ip=getIP();
		$message.="<td align=\"left\" valign=\"top\">".$user_ip."</td>\n";
	}
	$message.="</tr>\n";
	$message.=htmlFooter();
	return $message;
}
// build plain text format
function buildTextTable($fields, $intro, $to, $send_ip)
{
	$message="";
	if($intro != "")
		$message.=$intro."\n\n";
	$fields_check=preg_split('/,/',$fields);
	$run=sizeof($fields_check);
	for($i=0;$i<$run;$i++)
	{
		$cur_key=$fields_check[$i];
		$cur_value=$_POST[$cur_key];
		if(is_array($cur_value))
		{
			$cur_value=parseArray($cur_key);
		}
		$cur_value=parseValue($cur_value);
		if($allow_html[$config]=="no")
			$cur_value=htmlspecialchars($cur_value);
		else
			$cur_value=$cur_value;
		$message.="".$cur_key.": ".$cur_value."\n";
	}
	if($send_ip=="yes" && $to=="recipient")
	{
		$user_ip=getIP();
		$message.="Sender IP: ".$user_ip."\n";
	}
	return $message;
}
// get the proper build fonction
function buildTable($format, $fields, $intro, $to, $send_ip)
{
	if($format=="vert_table")
		$message=buildVertTable($fields, $intro, $to, $send_ip);
	else if($format=="horz_table")
		$message=buildHorzTable($fields, $intro, $to, $send_ip);
	else
		$message=buildTextTable($fields, $intro, $to, $send_ip);
	return $message;
}
// referrer checking security option
function checkReferer()
{
	if($check_referrer=="yes")
	{
		$ref_check=preg_split('/,/',$referring_domains);
		$ref_run=sizeof($ref_check);
		$referer=$_SERVER['HTTP_REFERER'];
		$domain_chk="no";
		for($i=0;$i<$ref_run;$i++)
		{
			$cur_domain=$ref_check[$i];
			if(stristr($referer,$cur_domain)){$domain_chk="yes";}
		}
	}
	else
	{
		$domain_chk="yes";
	}
	return $domain_chk;
}
// checking required fields and email fields
function checkFields($text_fields, $email_fields, $regex)
{
      	$error_message="";
	if($debug==1)
		$error_message.="<li>text_fields: ".$text_fields."<br />email_fields: ".$email_fields."<br />reply_to_field: ".$reply_to_field."<br />reply_to_name: ".reply_to_name."</li>";
	if($text_fields != "")
	{
		$req_check=preg_split('/,/',$text_fields);
		$req_run=sizeof($req_check);
		for($i=0;$i<$req_run;$i++)
		{
			$cur_field_name=$req_check[$i];
			$cur_field=$_POST[$cur_field_name];
			if($cur_field=="")
			{
				$error_message.="<li>You are missing the <b>".$req_check[$i]."</b> field</li>\n";
			}
		}
	}
	if($email_fields != "")
	{
		$email_check=preg_split('/,/',$email_fields);
		$email_run=sizeof($email_check);
		for($i=0;$i<$email_run;$i++)
		{
			$cur_email_name=$email_check[$i];
			$cur_email=$_POST[$cur_email_name];
			if($cur_email=="" || !eregi($regex, $cur_email))
			{
				$error_message.="<li>You are missing the <b>".$email_check[$i]."</b> field or it is not a valid email address.</li>\n";
			}
		}
	}
	return $error_message;
}
// attachment function
function getAttachments($attachment_fields, $message, $content_type, $border)
{
	$att_message="This is a multi-part message in MIME format.\r\n";
	$att_message.="--{$border}\r\n";
	$att_message.=$content_type."\r\n";
	$att_message.="Content-Transfer-Encoding: 7bit\r\n\r\n";
	$att_message.=$message."\r\n\r\n";

	$att_check=preg_split('/,/',$attachment_fields);
	$att_run=sizeof($att_check);
	for($i=0;$i<$att_run;$i++)
	{
		$fileatt=$_FILES[$att_check[$i]]['tmp_name'];
		$fileatt_name=$_FILES[$att_check[$i]]['name'];
		$fileatt_type=$_FILES[$att_check[$i]]['type'];
		if (is_uploaded_file($fileatt))
		{
			$file=fopen($fileatt,'rb');
			$data=fread($file,filesize($fileatt));
			fclose($file);
			$data=chunk_split(base64_encode($data));
			$att_message.="--{$border}\n";
			$att_message.="Content-Type: {$fileatt_type}; name=\"{$fileatt_name}\"\r\n";
			$att_message.="Content-Disposition: attachment; filename=\"{$fileatt_name}\"\r\n";
			$att_message.="Content-Transfer-Encoding: base64\r\n\r\n".$data."\r\n\r\n";
		}
	}
	$att_message.="--{$border}--\n";
	return $att_message;
}
// function to set content type
function contentType($charset, $format)
{
	if($format=="vert_table")
		$content_type="Content-type: text/html; charset=".$charset."\r\n";
	else if($format=="horz_table")
		$content_type="Content-type: text/html; charset=".$charset."\r\n";
	else
		$content_type="Content-type: text/plain; charset=".$charset."\r\n";
	return $content_type;
}
//////////////////////////
// end global functions //
//////////////////////////

////////////////////////////////
// begin procedural scripting //
////////////////////////////////
// anti-spam empty field check
if($_POST[$empty_field[$config]] != "")
{
	$empty_message = "<li>This submission failed and was flagged as spam.</li>\n";
}
// anti-spam character scan check
if(strlen($character_scan[$config]) > 0)
{
	$spam_message="";
	$field_check=preg_split('/,/',$character_scan[$config]);
	$field_run=sizeof($field_check);
	for($i=0;$i<$field_run;$i++)
	{
		$cur_field_name=$field_check[$i];
		$cur_field=$_POST[$cur_field_name];
		if(preg_match("/<(.|\n)+?>/", $cur_field) || preg_match("/\[(.|\n)+?\]/", $cur_field))
			$spam_message.="<li>This message contains disallowed characters.</li>\n";
	}
}
// anti-spam time delay check
if((strlen($time_delay[$config]) > 0 && strlen($_POST["time"]) > 0) || (strlen($time_delay[$config]) > 0 && (strlen($_POST["time"]) == 0 || !$_POST["time"])))
{
	if((time() - $_POST["time"]) < $time_delay[$config])
		$time_message = "<li>This has been stopped by the timer, and is likely spam.</li>\n";
}
// anti-spam CAPTCHA check
if(strlen($captcha_codes[$config]) > 0)
{
	$captcha_check=preg_split('/,/',$captcha_codes[$config]);
	if(strtolower($_POST["captcha_entry"]) != strtolower($captcha_check[$_POST["captcha_code"]]))
		$captcha_message = "<li>CAPTCHA test did not match.</li>\n";
}
// anti-spam max URL check
if(strlen($max_url_fields[$config]) > 0)
{
	$max_url_message="";
	$field_check=preg_split('/,/',$max_url_fields[$config]);
	$field_run=sizeof($field_check);
	for($i=0;$i<$field_run;$i++)
	{
		$cur_field_name=$field_check[$i];
		$cur_field=$_POST[$cur_field_name];
		preg_match_all("/http:/", $cur_field, $matches);
		if(count($matches[0]) > $max_urls[$config])
			$max_url_message.="<li>This message contains too many URL's.</li>\n";
	}
}
// set anti-spam flagging option
if(strlen($empty_message.$spam_message.$time_message.$captcha_message.$max_url_message) > 0 && strlen($flag_spam[$config]) == 0)
	$set_flag = 2;
else if(strlen($empty_message.$spam_message.$time_message.$captcha_message.$max_url_message) > 0 && strlen($flag_spam[$config]) > 0)
	$set_flag = 1;
else
	$set_flag = 0;
// header injection check
   	$security_filter="";
if(strlen($_POST[$reply_to_field[$config]]) > 0)
{
	if(eregi($header_injection_regex,$_POST[$reply_to_field[$config]]))
		$security_filter.="<li>Header injection attempt detected, mail aborted.</li>\n";
	else
		$reply_to_field_checked=$_POST[$reply_to_field[$config]];
}
if(strlen($_POST[$reply_to_name[$config]]) > 0)
{
	if(eregi($header_injection_regex,$_POST[$reply_to_name[$config]]))
		$security_filter.="<li>Header injection attempt detected, mail aborted.</li>\n";
	else
		$reply_to_name_checked=$_POST[$reply_to_name[$config]];
}
// check domain referrer and continue
$domain_chk=checkReferer();
if($domain_chk=="yes")
{
	$error_message=checkFields($required_fields[$config], $required_email_fields[$config], $regex);
	if(strlen($error_message) < 1 && strlen($security_filter) < 1 && $set_flag < 2)
	{
		// build appropriate message format for recipient
		$content_type=contentType($charset[$config], $mail_type[$config]);
		$message=buildTable($mail_type[$config], $mail_fields[$config], $mail_intro[$config], "recipient", $return_ip[$config]);
		// build header data for recipient message
		//$extra="From: ".$_POST[$reply_to_field[$config]]."\r\n";
		$extra="From: ".$reply_to_name_checked." <".$reply_to_field_checked.">\r\n";
		if($cc_tomail[$config]!="")
			$extra.="Cc: ".$cc_tomail[$config]."\r\n";
		if($bcc_tomail[$config]!="")
			$extra.="Bcc: ".$bcc_tomail[$config]."\r\n";
		if($mail_priority[$config]!="")
			$extra.="X-Priority: ".$mail_priority[$config]."\r\n";
		// get attachments if necessary
		if($attachment_fields[$config]!="")
		{
			$semi_rand=md5(time());
			$border="==Multipart_Boundary_x{$semi_rand}x";
			$extra.="MIME-Version: 1.0\r\n";
			$extra.="Content-Type: multipart/mixed; boundary=\"{$border}\"";
			$message=getAttachments($attachment_fields[$config], $message, $content_type, $border);
		}
		else
		{
			$extra.="MIME-Version: 1.0\r\n".$content_type;
		}
		// send recipient email
		if($debug==1)
		{
			if($set_flag == 1)
				$debug_text.="<p><b>Mail would have sent flagged for spam if not in debug mode.</b></p>";
			else
				$debug_text.="<p><b>Mail would have sent if not in debug mode.</b></p>";
		}
		else if($debug==0)
		{
			if($set_flag == 1)
				$subject = $flag_spam[$config]." ".$subject[$config];
			else
				$subject = $subject[$config];
			mail("".$tomail[$config]."", "".stripslashes($subject)."", "".stripslashes($message)."", "".$extra."");
		}
		// autoresponse email if necessary
		if($send_copy[$config]=="yes")
		{
			// build appropriate message format for autoresponse
			$content_type=contentType($charset[$config], $copy_format[$config]);
			$message=buildTable($copy_format[$config], $copy_fields[$config], $copy_intro[$config], "autoresponder", $return_ip[$config]);
			// build header data for autoresponse
			$copy_tomail=$_POST[$copy_tomail_field[$config]];
			$copy_extra="From: ".$copy_from[$config]."\r\n";
			// get autoresponse  attachments if necessary
			if($copy_attachment_fields[$config]!="")
			{
				$semi_rand=md5(time());
				$border="==Multipart_Boundary_x{$semi_rand}x";
				$copy_extra.="MIME-Version: 1.0\r\n";
				$copy_extra.="Content-Type: multipart/mixed; boundary=\"{$border}\"";
				$message=getAttachments($copy_attachment_fields[$config], $message, $content_type, $border);
			}
			else
			{
				$copy_extra.="MIME-Version: 1.0\r\n".$content_type;
			}
			// send autoresponse email
			if($debug==1)
			{
				if($set_flag == 1)
					$debug_text.="<p><b>Autoresponder would have sent flagged for spam if not in debug mode.</b></p>";
				else
					$debug_text.="<p><b>Autoresponder would have sent if not in debug mode.</b></p>";
			}
			else if($debug==0)
			{
				$send_copy = 1;
				if($copy_tomail=="" || !eregi($regex,$copy_tomail))
					$send_copy = 0;
				if($send_copy == 1)
				{
					if($set_flag == 1)
						$copy_subject = $flag_spam[$config]." ".$copy_subject[$config];
					else
						$copy_subject = $copy_subject[$config];
					mail("$copy_tomail", "".$copy_subject."", "$message", "$copy_extra");
				}
			}
		}
		// showing thanks pages from a successful submission
		if($thanks_page[$config]=="")
		{
			echo "<h3>".$thanks_page_title[$config]."</h3>\n";
			echo "<p>".$thanks_page_text[$config]."</p>\n";
			if(strlen($debug_text) > 0)
				echo "<p><b><i>".$debug_text."</i></b></p>\n";
		}
		else
		{
			header("Location: ".$thanks_page[$config]);
		}
	}
	else
	{
		// entering error page options from missing required fields
		if($error_page[$config]=="")
		{
			echo "<h3>".$error_page_title[$config]."</h3>\n";
			echo "<ul>\n";
			echo $security_filter.$empty_message.$error_message.$spam_message.$time_message.$captcha_message.$max_url_message;
			echo "</ul>\n";
			echo "<p>".$error_page_text[$config]."</p>\n";
		}
		else
		{
			header("Location: ".$error_page[$config]);
		}
	}
}
else
{
	echo "<h3>".$error_page_title[$config]."</h3>\n";
	// message if unauthorized domain trigger from referer checking option
	echo "<p>Sorry, mailing request came from an unauthorized domain.</p>\n";
}
//////////////////////////////
// end procedural scripting //
//////////////////////////////
}
else
{
echo "<h3>Error</h3>";
echo "<p>No form data has been sent to the script</p>\n";
}
if($footer[$config]!="")
include($footer[$config]);
ob_end_flush();
?>

 

and the web page html for the form is;

<form id="form" method="post" action="formmailer.php" enctype="multipart/form-data"> 
<p>Your Name<br /><input type="text" name="Name" value=""/></p> 
<p>Your Email<br />
  <input type="text" name="Email" value="" /></p> 
<p>Comments and/or Questions<br /><textarea name="Comments" rows="5" cols="40"></textarea></p>
<p><input type="file" name="attachment" /></p>
<p> </p>
<p>
<?php $random = rand(0,3); ?>
<img src="images/img_<?php echo $random; ?>.jpg"/><br />
<input type="hidden" name="captcha_code" value="<?php echo $random; ?>" />
Enter the characters from the image above:<br />
<input type="text" name="captcha_entry" value="" />
</p>
<p>
<input type="submit" name="submit" value="Submit" /> 
<input type="reset" name="Reset" value="Clear Form" />
<input type="hidden" name="config" value="0" />
<input type="hidden" name="time" value="<?php echo time(); ?>" />
<input type="text" name="nospam" value="" style="display:none;"/>
</p>
</form>

 

Many Thanks

 

Shana

Link to comment
Share on other sites

Thats a lot of code. Too bad it does not check the result of the mail() function call(s). It will output the thankyou message or redirect to your thankyou page anytime the conditional test at line 473 is true.

 

Start by putting the following two lines immediately after the first opening <?php tag -

 

ini_set("display_errors", "1");
error_reporting(E_ALL);

Link to comment
Share on other sites

Heres the error i get;

 

Notice: Undefined index: email in /home/www/visualmemoriesonline.com/formmailer.php on line 91

Warning: include(info@visualmemoriesonline.com) [function.include]: failed to open stream: No such file or directory in /home/www/visualmemoriesonline.com/formmailer.php on line 128

Warning: include() [function.include]: Failed opening 'info@visualmemoriesonline.com' for inclusion (include_path='.:/usr/local/php5/share/pear') in /home/www/visualmemoriesonline.com/formmailer.php on line 128

Notice: Undefined variable: empty_message in /home/www/visualmemoriesonline.com/formmailer.php on line 447

Notice: Undefined variable: time_message in /home/www/visualmemoriesonline.com/formmailer.php on line 447

Notice: Undefined variable: captcha_message in /home/www/visualmemoriesonline.com/formmailer.php on line 447

Notice: Undefined variable: empty_message in /home/www/visualmemoriesonline.com/formmailer.php on line 449

Notice: Undefined variable: time_message in /home/www/visualmemoriesonline.com/formmailer.php on line 449

Notice: Undefined variable: captcha_message in /home/www/visualmemoriesonline.com/formmailer.php on line 449

Notice: Undefined variable: check_referrer in /home/www/visualmemoriesonline.com/formmailer.php on line 296

Notice: Undefined variable: debug in /home/www/visualmemoriesonline.com/formmailer.php on line 318

Notice: Undefined variable: config in /home/www/visualmemoriesonline.com/formmailer.php on line 269

Notice: Undefined variable: allow_html in /home/www/visualmemoriesonline.com/formmailer.php on line 269

Notice: Undefined variable: config in /home/www/visualmemoriesonline.com/formmailer.php on line 269

Notice: Undefined variable: allow_html in /home/www/visualmemoriesonline.com/formmailer.php on line 269

Notice: Undefined variable: config in /home/www/visualmemoriesonline.com/formmailer.php on line 269

Notice: Undefined variable: allow_html in /home/www/visualmemoriesonline.com/formmailer.php on line 269

Notice: Use of undefined constant HTTP_X_FORWARDED_FOR - assumed 'HTTP_X_FORWARDED_FOR' in /home/www/visualmemoriesonline.com/formmailer.php on line 139

Message Sent
Thank you for your inquiry

Link to comment
Share on other sites

Unrelated to the email not being sent/received, there is a problem with the following line  -

$header[0]="info@visualmemoriesonline.com";

This line should be the file name of a html file that contains the header content you want to output.

 

Based on the remaining errors, your mail server apparently accepted the email for sending. Either your mail server decided to not send it or it was sent and the receiving mail server decided to not accept it (even if you are sending it to yourself) or it was put into your junk/spam folder.

 

To find out for sure that your mail server accepted the email and what exactly is being provided to it, temporarily comment out the mail() function call on line #514 and then paste in the following code after that line -

 

// line #514   mail("".$tomail[$config]."", "".stripslashes($subject)."", "".stripslashes($message)."", "".$extra.""); // line 514
		echo "To: " . $tomail[$config] . "<br />";
		echo "Subject: " . $subject . "<br />";
		echo "Message: " . $message . "<br />";
		echo "Extra: " . $extra . "<br />";
		if(mail("".$tomail[$config]."", "".stripslashes($subject)."", "".stripslashes($message)."", "".$extra."")){
			echo "Mail server accepted email to be sent<br />";
		} else {
			echo "Main server did not accept email<br />";
		}

Link to comment
Share on other sites

Unrelated to the email not being sent/received, there is a problem with the following line  -

$header[0]="info@visualmemoriesonline.com";

This line should be the file name of a html file that contains the header content you want to output.

 

do u mean id put in "contact.html" whats header content mean?

 

 

Link to comment
Share on other sites

i tried that and i got

 

To: info@visualmemoriesonline.com
Subject: Subject of Email
Message: The following are form results from your web site: Name: shana Email: shanalfagan@yahoo.ie Comments: jkhj kjhjkkjhj Sender IP: 87.192.128.5 
Extra: From: shana Cc: info@visualmemoriesonline.com X-Priority: 1 MIME-Version: 1.0 Content-type: text/plain; charset=UTF-8 
Main server did not accept email

Link to comment
Share on other sites

Your mail server is not accepting the email and it is not generating any php errors stating why.

 

Is the info@visualmemoriesonline.com address hosted on your sending mail server? If so, your mail server should accept the email, unless you are required to use smtp authentication. What information has your web host published about requirements to send email?

 

If the info@visualmemoriesonline.com is not hosted on your sending mail server, either your mail server is discarding it because it thinks you are relaying email through it (one or both of the To:/From: address must be hosted on the sending mail server) or the receiving mail server is discarding it because the domain in the From: address does not match the sending mail server's domain.

 

To help further, you need to supply details about where the email address is hosted relative to your sending mail server.

Link to comment
Share on other sites

i was talking to my host and he said to use the code below cos i need valid smtp authentication

 

<?
$from = "From: You <test@visualmemoriesonline.com>";
$to = "test@visualmemoriesonline.com";
$subject = "Test - Hi";
$body = "TEST";

if(mail($to,$subject,$body,$from)) echo "MAIL - OK";
else echo "MAIL FAILED";
?>

 

How do i put this in my formmailer.php?

 

Thanks

Link to comment
Share on other sites

If that is sample code they gave you to do SMTP authentication with, then we are not talking about the same thing. SMTP authentication means supplying a username and password for a mail box on the mail server so that the mail server can identify you (your script) and will accept an email to be sent. The php mail() function does not support SMTP authentication. To use SMTP authentication, you would need to use one of the php mailer classes, such as phpmailer - http://phpmailer.codeworxtech.com/

Link to comment
Share on other sites

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.