コード例 #1
0
        $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;
コード例 #2
0
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);
        }
    }
}