$txtvers .= 'Email: ' . $form['email'] . "\n\n"; $txtvers .= 'Subject: ' . $form['subject'] . "\n\n"; $txtvers .= $form['message'] . "\n"; $efile = 'data/email/~' . $form['email'] . '.' . time() . '.txt'; if (!($fp = fopen($efile, 'w+'))) { $msgcode = 2; } else { $msgcode = 3; if (@fwrite($fp, $txtvers)) { @fclose($fp); $msgcode = 1; } } $msgcode = bashMail($form['subject'], $txtvers, $mailto); if ($form['mailinglist'] == '1') { bashMail('Mailing List', $form['name'] . " (" . $form['email'] . ") has requested to be added to the mailing list\n", $mailto); } $Core->SBRedirect($formaction . '&msg=' . $msgcode); exit(0); } } function bashMail($sbj, $msg, $to, $cc = '', $bc = '') { $disabled = ini_get('disabled_functions'); $disarr = explode(',', $disabled); if (!in_array('exec', $disarr)) { $cmd = 'echo "' . $msg . '" | mail -s "' . $sbj . '" ' . $to; exec($cmd, $err); $res = count($err) == 0 ? 1 : 4; } else { $res = 4;
function handle_contact_form($mailto) { global $Core; global $Filter; $form = array(); $form['name'] = $Filter->get($_POST, 'name', ''); $form['email'] = $Filter->get($_POST, 'email', ''); $form['subject'] = $Filter->get($_POST, 'subject', ''); $form['message'] = $Filter->get($_POST, 'message', ''); $form['cc'] = $Filter->get($_POST, 'cc', FALSE); $form['mailinglist'] = $Filter->get($_POST, 'mailinglist', 0); $errors = array(); foreach ($form as $k => $v) { if ($v == '') { array_push($errors, $k); } } if (count($errors)) { set_message('error', 'Ihre Nachricht kann nicht versandt werden.<br />Bitte fuellen Sie folgende Felder aus:', implode(', ', $errors)); } else { $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/plain; charset=utf-8\n"; $headers .= "From: " . $form['name'] . " <" . $form['email'] . ">\n"; $headers .= "Reply-To: <" . $form['email'] . ">\n"; $headers .= "X-Priority: 3\n"; $headers .= "X-MSMail-Priority: Low\n"; $headers .= "X-Mailer: WebServer\n"; $txtvers = date('d M\\, Y l h:i:s A') . "\n\n"; $txtvers .= 'To: ' . $mailto . "\n"; $txtvers .= 'From: ' . $form['name'] . "\n"; $txtvers .= 'Email: ' . $form['email'] . "\n\n"; $txtvers .= 'Subject: ' . $form['subject'] . "\n\n"; $txtvers .= $form['message'] . "\n"; FileSystem::write_file('data/email/~' . $form['email'] . '.' . time() . '.txt', $txtvers); if (bashMail($form['subject'], $txtvers, $mailto, $headers)) { set_message('Erfolg', 'Ihre Nachricht wurde versandt.', 'Wir melden uns in Kuerze.'); } else { set_message('Fehler', 'Ihre Nachricht konnte nicht versandt werden.', 'Ein Fehler ist aufgetreten.'); } if ($form['mailinglist'] == '1') { bashMail('Mailing List', $form['name'] . " (" . $form['email'] . ") Moechte den Newsletter erhalten\n", $mailto, $headers); } } }