rendered paste body<?php
/*
ezgemail.php
D A O Software Solution
*/
$send_to = 'jenifer@supportmyoffice.com';
$send_from_field ="Email";
$sender_in_from = false;
$hidden_menus = false;
$return_path = '';
$page_encoding = 'iso-8859-1';
$re_fields = array();
$field_labels = array("Name"=>"Name","Address"=>"Address","Place"=>"Place","Phone"=>"Phone","Email"=>"Email","Country"=>"Country","Notes"=>"Notes");
if (isset($_SERVER['SERVER_SOFTWARE']))$use_linefeed = strpos($_SERVER['SERVER_SOFTWARE'] ,'Microsoft') !== false;
else $use_linefeed = false;
$mail_type = "mail";
$subject = "";
$submit_url = "contact_us.html";
$error_url = "documents/29.html";
$emailnotvalid_message = "Please specify valid Email address";
$fieldnotfound_message = "Field <b>%FIELDNAME%</b> is empty";
$emailnotsame_message = "Emails does not match.";
$fieldnotchecked_message = "Field %FIELDNAME% must be checked";
$reply_enabled = 0;
$reply_url = '';
$reply_images_path = '';
$reply_message = <<<MSG
Thank you for submitting the form.
MSG;
$sendto_array = split("[;]",$send_to);
$reply_from = $sendto_array[0];
$reply_subject = "";
include('htmlMimeMail.php');
function processform()
{
global $reply_enabled,$send_to;
if ($send_to == 'your@email.com') echo 'please define request recipient e-mail on request page settings panel!';
else
{
$formfields = get_fields();
if (check_fields($formfields)) return;
if (send_mail2($formfields))
{
if ($reply_enabled) auto_reply($formfields);
redirect($formfields);
}
else echo 'sending mail failed';
}
}
function get_fields()
{
$vars = ($_SERVER['REQUEST_METHOD'] == 'POST') ? $_POST : $_GET;
foreach ($vars as $k=>$v)
{
$vars[$k] = trim($v);
if (strpos(strtolower(urldecode($vars[$k])),'mime-version') !== false) { die("Why ?? :(");}
if (strpos(strtolower(urldecode($vars[$k])),'content-type:') !== false) { die("Why ?? :(");}
}
return $vars;
}
function check_fields($vars) //required fields starts with _re
{
global $error_url,$send_from_field,$emailnotvalid_message,$fieldnotfound_message,$fieldnotchecked_message,$re_fields,$field_labels,$emailnotsame_message;
$issues = array();
if (!validate_email($vars[$send_from_field])) $issues[] = $emailnotvalid_message;
if (isset($vars[$send_from_field.'_confirm']))
{
if ($vars[$send_from_field] != $vars[$send_from_field.'_confirm'])
$issues[] = $emailnotsame_message;
}
foreach ($re_fields as $k=>$v)
{
$vx = str_replace(' ','_',$v);
$label = $v;
if (isset($field_labels[$v])) $label = $field_labels[$v];
if (!isset($vars[$vx])) $issues[] = str_replace("%FIELDNAME%",ucfirst($label),$fieldnotchecked_message);
else if (!strlen($vars[$vx])) $issues[] = str_replace("%FIELDNAME%",ucfirst($label),$fieldnotfound_message);
}
if ($issues)
{
$issues = '<br>'.join('<br>', $issues);
$fp = fopen($error_url, "r");
$contents = fread($fp, filesize($error_url));
fclose($fp);
$contents = str_replace("%ERRORS%",$issues , $contents);
print $contents;
}
return $issues;
}
function redirect($vars)
{
global $submit_url;
if (strpos(strtolower($submit_url),'http://') !== false)
{
header("Location: $submit_url");
header("Status: 303");
}
else
{
$fp = fopen($submit_url, "r");
$contents = fread($fp, filesize($submit_url));
fclose($fp);
foreach ($vars as $rs=>$v) $contents = str_replace('%'.$rs.'%',$v,$contents);
print $contents;
}
exit();
}
function auto_reply($vars)
{
global $reply_from, $reply_subject,$reply_message,$send_from_field,$reply_url,$reply_images_path,
$use_linefeed,$mail_type,$return_path,$page_encoding;
$mail = new htmlMimeMail();
if ($page_encoding !== '')
{
$mail->setTextCharset($page_encoding);
$mail->setHtmlCharset($page_encoding);
$mail->setHeadCharset($page_encoding);
}
foreach ($vars as $key => $value) { $reply_message = str_replace('%'.$key.'%',$value,$reply_message); }
foreach ($vars as $key => $value) { $reply_subject = str_replace('%'.$key.'%',$value,$reply_subject); }
if ($reply_url != '')
{
$html = $mail->getFile($reply_url);
$mail->setHtml($html, $reply_message,$reply_images_path);
}
else $mail->setText($reply_message);
$mail->setSubject($reply_subject);
$mail->setFrom($reply_from);
if ($return_path != '') $mail->setReturnPath($return_path);
if ($use_linefeed) $mail->setCrlf("\r\n");
$result = $mail->send(array($vars[$send_from_field]),$mail_type);
return $result;
}
function _build_fields($vars)
{
global $use_linefeed;
$pa_fields = "";
foreach ($vars as $rs=>$v)
{
if (($rs != 'REQUEST_SEND_x') && ($rs != 'REQUEST_SEND_y'))
{
if ($use_linefeed) $pa_fields .= $rs."= $v\r\n";
else $pa_fields .= $rs."= $v\n";
}
}
return $pa_fields;
}
function GetFromString($src,$start,$stop)
{
if ($start == '') $res = $src;
else if (strpos($src,$start) === false)
{
$res = '';
return $res;
}
else $res = substr($src,strpos($src,$start) + strlen($start));
if (($stop != '') && (strpos($res,$stop) !== false)) $res = substr($res,0,strpos($res,$stop));
return $res;
}
function send_mail2($vars)
{
global $sendto_array, $subject,$_SERVER,$HTTP_POST_FILES,$send_from_field,$use_linefeed,$reply_from,$mail_type,
$sender_in_from,$return_path,$page_encoding;
$files = array();
$mail = new htmlMimeMail();
if ($page_encoding !== '')
{
$mail->setTextCharset($page_encoding);
$mail->setHtmlCharset($page_encoding);
$mail->setHeadCharset($page_encoding);
}
if (count($HTTP_POST_FILES)){ $files = array_keys($HTTP_POST_FILES); }
$date_time = date('d-m-Y');
$fields = _build_fields($vars);
$fields = str_replace("\'","'",$fields);
$fields = str_replace('\"','"',$fields);
$fields = $fields.'CreatingDate= '.$date_time;
if ($use_linefeed) $fields = $fields."\r\n"; else $fields = $fields."\n";
$fields = $fields.'IP= '.$_SERVER['REMOTE_ADDR'];
if (count($files))
{
foreach ($files as $file)
{
$file_name = $HTTP_POST_FILES[$file]['name'];
$file_type = $HTTP_POST_FILES[$file]['type'];
$file_tmp_name = $HTTP_POST_FILES[$file]['tmp_name'];
$file_cnt = "";
$f=@fopen($file_tmp_name, "rb");
if (!$f) continue;
while($f && !feof($f)) $file_cnt .= fread($f, 4096);
fclose($f);
if (!strlen($file_type)) $file_type="application/octet-stream";
if ($file_type == 'application/x-msdownload') $file_type = "application/octet-stream";
$mail->addAttachment($file_cnt, $file_name, $file_type);
}
}
if ($use_linefeed) $mail->setCrlf("\r\n");
if ($sender_in_from)
{
if (isset($vars['Name'])) $mail->setFrom('"'.$vars['Name'].'" <'.$vars[$send_from_field].'>');
else $mail->setFrom($vars[$send_from_field]);
}
else if (strpos($reply_from,'<') === false) { $mail->setFrom('"'.$subject.'_request" <'.$reply_from.'>'); }
else $mail->setFrom($reply_from);
$mail->setText($fields);
$mail->setSubject($subject);
foreach ($sendto_array as $value) { if (strpos($value,'<') === false) $value = GetFromString($value,'<','>'); }
if ($return_path != '') $mail->setReturnPath($return_path);
$result = $mail->send($sendto_array,$mail_type);
return $result;
}
function validate_email($email)
{
return true;
}
processform();
?>