Example #1
0
 }
 if ($user_is_manager && $set == "blacklist_multi") {
     $_MAIN_MESSAGE .= "<br>" . ___("Ausgewählte Adressen werden zur Blacklist hinzgefügt.");
 }
 if ($user_is_manager && $set == "blacklist_domain_multi") {
     $bl_domains = array();
     //array mit domainnamen
     $_MAIN_MESSAGE .= "<br>" . ___("Domains der ausgewählten Adressen werden zur Blacklist hinzgefügt.");
 }
 //array durchwandern
 for ($acc_m = 0; $acc_m < $ac_multi; $acc_m++) {
     #$_MAIN_OUTPUT.="<br>ID".$adr_id_arr[$acc_m];
     //check adr syntax, mx, validate
     if ($set == "check_syntax_multi" || $set == "check_mx_multi" || $set == "check_validate_multi") {
         $ADR_check = $ADDRESS->getAdr($adr_id_arr[$acc_m]);
         $check_mail = checkEmailAdr($ADR_check[0]['email'], $EMailcheck);
         if (!$check_mail[0]) {
             $_MAIN_MESSAGE .= "<br><em>" . display($ADR_check[0]['email']) . "</em> <font color=\"red\">" . ___("FEHLER") . "</font>";
             //$_MAIN_MESSAGE.="<br>".___("Die E-Mail-Adresse ist nicht gültig.");
             //$_MAIN_MESSAGE.="<br><pre><em>".display($check_mail[1])."</em></pre>";
             $ADDRESS->setStatus($adr_id_arr[$acc_m], 9);
             $ADDRESS->addMemo($adr_id_arr[$acc_m], $check_mail[1]);
         } else {
             $_MAIN_MESSAGE .= "<br><em>" . display($ADR_check[0]['email']) . "</em> <font color=\"green\">" . ___("OK") . "</font>";
         }
         $ADDRESS->markRecheck($adr_id_arr[$acc_m], 0);
     }
     //check multi
     //activate adr
     if ($set == "aktiv_1_multi") {
         $ADDRESS->setAktiv($adr_id_arr[$acc_m], 1);
 function removeInvalidEmails($adr)
 {
     //removes syntactically invalid emails from 1-dim adr array
     $ac = count($adr);
     for ($acc = 0; $acc < $ac; $acc++) {
         if (isset($adr[$acc])) {
             $check_mail = checkEmailAdr($adr[$acc], 1);
             //1=nur syntax
             if (!$check_mail[0]) {
                 unset($adr[$acc]);
             }
         }
     }
     $adr = array_values($adr);
     return $adr;
 }
        if ($ADR_TMP[0]['code'] == $code) {
            if (DEBUG) {
                $FMESSAGE .= tm_debugmessage("Code OK");
                $FMESSAGE .= tm_debugmessage("email: " . display($ADR_TMP[0]['email']));
            }
            //ok, prefill value with email fetched from db via adr_id
            ${$InputName_Name} = $ADR_TMP[0]['email'];
        } else {
            if (DEBUG) {
                $FMESSAGE .= tm_debugmessage("CODE NOT OK");
            }
        }
    }
}
//check input
$check_mail = checkEmailAdr($email, 1);
if ($set == 'unsubscribe' && !$check_mail[0]) {
    $check = false;
    $FMESSAGE .= "<br>" . ___("Ungültige E-Mail-Adresse") . "<br>";
    #.$check_mail[1];
}
$captcha_code = "";
$captcha_md5 = "";
$FCAPTCHAIMG = "";
if ($C[0]['unsubscribe_use_captcha'] == 1) {
    if ($set == 'unsubscribe' && (!is_numeric($fcpt) || empty($fcpt) || md5($fcpt) != $cpt)) {
        $check = false;
        $FMESSAGE .= ___("Ungültiger Captcha Code!");
    }
    //create captcha code
    //captcha digits werden einzeln erzeugt ....
     //while
     unset($tmp);
 }
 //import offset user
 //zeilen auslesen bis limit erreicht
 while (!feof($uf) && $lines_f < $import_limit_user) {
     $row = fgets($uf, 4096);
     #$fields=explode($delimiter, $row);
     //bugged, use function splitWithEscape ($str, $delimiterChar = ',', $escapeChar = '"')  instead!
     $fields = splitWithEscape($row, $delimiter, '"');
     //escape char is "
     //erstes feld, emil, muss gefuellt sein!
     //adr in array speichern
     if (isset($fields[0]) && !empty($fields[0])) {
         $field_0 = str_replace("\"", "", trim($fields[0]));
         $check_mail = checkEmailAdr($field_0, $EMailcheck_Import);
         if ($check_mail[0]) {
             $addr[$lines]['email'] = $field_0;
             if (isset($fields[1]) && !empty($fields[1])) {
                 $addr[$lines]['f0'] = str_replace("\"", "", trim($fields[1]));
             } else {
                 $addr[$lines]['f0'] = "";
             }
             if (isset($fields[2]) && !empty($fields[2])) {
                 $addr[$lines]['f1'] = str_replace("\"", "", trim($fields[2]));
             } else {
                 $addr[$lines]['f1'] = "";
             }
             if (isset($fields[3]) && !empty($fields[3])) {
                 $addr[$lines]['f2'] = str_replace("\"", "", trim($fields[3]));
             } else {
Example #5
0
${$InputName_F7} = getVar($InputName_F7);
$InputName_F8 = "f8";
${$InputName_F8} = getVar($InputName_F8);
$InputName_F9 = "f9";
${$InputName_F9} = getVar($InputName_F9);
$InputName_Memo = "memo";
${$InputName_Memo} = getVar($InputName_Memo);
$check = true;
if ($set == "save") {
    //checkinput
    if (empty($email)) {
        $check = false;
        $_MAIN_MESSAGE .= "<br>" . ___("Die E-Mail-Adresse darf nicht leer sein.");
    }
    //email auf gueltigkeit pruefen
    $check_mail = checkEmailAdr($email, $EMailcheck_Intern);
    if (!$check_mail[0]) {
        $check = false;
        $_MAIN_MESSAGE .= "<br>" . ___("Die E-Mail-Adresse ist nicht gültig.") . " " . $check_mail[1];
    }
    if ($check) {
        $ADDRESS = new tm_ADR();
        ///////////////////////////
        //dublettencheck
        $search['email'] = $email;
        //auf existenz pruefen und wenn email noch nicht existiert dann eintragen.
        $ADR = $ADDRESS->getAdr(0, 0, 0, 0, $search);
        $ac = count($ADR);
        //oh! adresse ist bereits vorhanden!
        //wir diffen die gruppen und fuegen nur die referenzen hinzu die noch nicht existieren!
        $new_adr_grp = $adr_grp;
Example #6
0
         //statt a_error setzen wir h_error!
         #$a_error=true;
         //aber skipped nutzen
         $skipped = true;
         send_log("set h_status to 6 (canceled)");
         send_log("set skipped=true");
         $h_error = true;
         $h_status = 6;
         //cancel, abbruch (status 6), oder 4 fehler?
         //lieber 6, abbruch, da fehlerhafte q's ggf nochmal bearbeitet werden!
     } else {
         send_log("OK, does not match the active blacklist");
     }
 }
 //email pruefen
 $check_mail = checkEmailAdr($ADR[0]['email'], $EMailcheck_Sendit);
 //if !a_error auch abfragen wegen blacklist pruefung oben!
 //if (!$a_error && $check_mail[0] && $ADR[0]['errors']<=$C[0]['max_mails_retry']) {
 //statt a_error nehmen wir jetzt h_error! das hat den grund das adressen in der blacklist als fehlerhaft markiert wurden mit a_error
 //das waere aber unlogisch! stattdessen h_error und h_status=6
 if (!$skipped && !$h_error && $check_mail[0] && $ADR[0]['errors'] <= $C[0]['max_mails_retry']) {
     send_log("checkemail: OK");
     //wenn adresse auch wirklich aktiv etc.
     if ($ADR[0]['aktiv'] == 1) {
         send_log("Aktiv: OK");
         //status adresse pruefen , kann sich seit eintrag in die liste geaendert haben!
         if ($ADR[0]['status'] == 1 || $ADR[0]['status'] == 2 || $ADR[0]['status'] == 3 || $ADR[0]['status'] == 4 || $ADR[0]['status'] == 10 || $ADR[0]['status'] == 12) {
             send_log("Adr-Status: OK (1|2|3|4|10|12)");
             $h_status = 5;
         } else {
             //adr status
Example #7
0
         $_MAIN_MESSAGE .= "<br>" . ___("Absender-Name darf nicht leer sein") . ".";
     }
     if (empty($reply_to)) {
         $check = false;
         $_MAIN_MESSAGE .= "<br>" . ___("Die E-Mail-Adresse für Antworten darf nicht leer sein") . ".";
     }
     $check_mail = checkEmailAdr($reply_to, $EMailcheck_Intern);
     if (!$check_mail[0]) {
         $check = false;
         $_MAIN_MESSAGE .= "<br>" . ___("Die Antwort-E-Mail-Adresse ist nicht gültig.") . " " . $check_mail[1];
     }
     if (empty($return_mail)) {
         $check = false;
         $_MAIN_MESSAGE .= "<br>" . ___("Die E-Mail-Adresse für Fehlermeldungen darf nicht leer sein") . ".";
     }
     $check_mail = checkEmailAdr($return_mail, $EMailcheck_Intern);
     if (!$check_mail[0]) {
         $check = false;
         $_MAIN_MESSAGE .= "<br>" . ___("Die E-Mail-Adresse für Fehlermeldungen ist nicht gültig.") . " " . $check_mail[1];
     }
 }
 if ($check) {
     if (!DEMO) {
         $HOSTS = new tm_HOST();
         $HOSTS->addHost(array("siteid" => TM_SITEID, "name" => $name, "aktiv" => $aktiv, "host" => $host, "port" => $port, "options" => $options, "smtp_auth" => $smtp_auth, "smtp_domain" => $smtp_domain, "smtp_ssl" => $smtp_ssl, "smtp_max_piped_rcpt" => $smtp_max_piped_rcpt, "type" => $type, "user" => $user, "pass" => $pass, "max_mails_atonce" => $max_mails_atonce, "max_mails_bcc" => $max_mails_bcc, "sender_name" => $sender_name, "sender_email" => $sender_email, "return_mail" => $return_mail, "reply_to" => $reply_to, "delay" => $delay));
     }
     //demo
     $_MAIN_MESSAGE .= "<br>" . sprintf(___("Neuer Mailserver %s wurde angelegt."), "'<b>" . display($name) . "</b>'");
     $action = "host_list";
     require_once TM_INCLUDEPATH . "/host_list.inc.php";
 } else {
Example #8
0
function checkEmailList($eMailList, $debug = 0, $level = 2)
{
    //3 parameters: list of comma-separated emails, $debug?, e mail check level
    if (!empty($eMailList)) {
        $Return = true;
        //zerlege string fwd in bestandteile durch komma getrennt
        $eMailListArray = explode(",", $eMailList);
        $Count = count($eMailListArray);
        $Message = "";
        $Message .= "<br>" . sprintf(___("Prüfe Adressen: (%s)"), $Count) . "<br>";
        for ($Counter = 0; $Counter < $Count; $Counter++) {
            //pruefe einzelne adresse
            $Message .= $Counter . ".:" . $eMailListArray[$Counter];
            //wird einmal falsches ergebnis ausgegeben, false setzen
            $check_mail = checkEmailAdr($eMailListArray[$Counter], $level);
            if (!$check_mail[0]) {
                $Return = false;
                $Message .= "...........<b>" . ___("Fehler") . " " . $check_mail[1] . "</b>";
            } else {
                $Message .= "..........." . ___("OK");
            }
            $Message .= "<br>";
        }
        if ($debug == 1) {
            echo tm_debugmessage($Message);
        }
    } else {
        //wenn leer ok
        $Return = true;
    }
    //!empty
    return $Return;
}
Example #9
0
$ADDRESS = new tm_ADR();
$search['recheck'] = 1;
$ADR = $ADDRESS->getAdr(0, 0, $C[0]['checkit_limit'], 0, $search, "", 0, 0);
$ac = count($ADR);
if ($ac > 0) {
    echo sprintf(___("Limit: %s Found: %s"), $C[0]['checkit_limit'], $ac) . "\n";
    for ($acc = 0; $acc < $ac; $acc++) {
        $protocol = "";
        $protocol .= $ADR[$acc]['email'] . "\n";
        $ADR_C = $ADDRESS->getAdr($ADR[$acc]['id']);
        //nochmal kurz pruefen ob recheck noch 1 ist, sonst pruefen wir ggf. doppelt
        if ($ADR_C[0]['recheck'] == 1) {
            //recheck auf 0 setzen
            $ADDRESS->markRecheck($ADR[$acc]['id'], 0);
            //pruefen
            $check_mail = checkEmailAdr($ADR[$acc]['email'], $C[0]['emailcheck_checkit'], $C[0]['checkit_from_email']);
            if (!$check_mail[0]) {
                $protocol .= ___("Error, e-mail marked as failed.") . "\n";
                $protocol .= $check_mail[1] . "\n";
                $ADDRESS->setStatus($ADR[$acc]['id'], 9);
                #see Stats.inc.php
                $ADDRESS->addMemo($ADR[$acc]['id'], $protocol);
            } else {
                #opt.: als OK markieren wenn status 9 war, error a, oder 10, error s
                if ($ADR[$acc]['id'] == 9 || $ADR[$acc]['id'] == 10) {
                    if ($C[0]['checkit_adr_reset_status'] == 1) {
                        $ADDRESS->setStatus($ADR[$acc]['id'], 2);
                        #2:ok, checked, #see Stats.inc.php
                        $protocol .= ___("OK, e-mail marked as ok.") . "\n";
                    }
                } else {
Example #10
0
$InputName_Expr = "expr";
${$InputName_Expr} = getVar($InputName_Expr);
$InputName_Type = "type";
${$InputName_Type} = getVar($InputName_Type);
$InputName_Aktiv = "aktiv";
${$InputName_Aktiv} = getVar($InputName_Aktiv);
if ($set == "save") {
    $check = true;
    //checkinput
    if (empty($expr)) {
        $check = false;
        $_MAIN_MESSAGE .= "<br>" . ___("Der Ausdruck darf nicht leer sein.");
    }
    //syntaxcheck wenn email
    if ($type == "email") {
        $check_mail = checkEmailAdr($expr, $EMailcheck_Intern);
        if (!$check_mail[0]) {
            $check = false;
            $_MAIN_MESSAGE .= "<br>" . sprintf(___("E-Mail %s hat ein falsches Format."), display($expr)) . " " . $check_mail[1];
        }
    }
    if ($check) {
        if (!DEMO) {
            $BLACKLIST = new tm_BLACKLIST();
            //dublettencheck, anders als in adr_list, dort ist nur typ domain und email, hier wuerde isBlacklisted bei regexp probleme machen, ganze email erwartet!
            //eintrag suchen:
            $BL = $BLACKLIST->getBL(0, array("type" => $type, "expr" => $expr));
            //wenn nix gefunden, eintragen:
            if (count($BL) < 1) {
                $BLACKLIST->addBL(array("siteid" => TM_SITEID, "expr" => $expr, "aktiv" => $aktiv, "type" => $type));
            } else {
/* 2006/10 by Volker Augustin, multi.art.studio Hanau                            */
/* Contact/Kontakt: info@tellmatic.org                                      */
/* Homepage: www.tellmatic.org                                                   */
/* leave this header in file!                                                   */
/* diesen Header nicht loeschen!                                                */
/* check Homepage for Updates and more Infos                                    */
/* Besuchen Sie die Homepage fuer Updates und weitere Infos                     */
/*******************************************************************************/
//check if double optin
if ($doptin == 1 && !empty($code) && !empty($email)) {
    if (DEBUG) {
        $MESSAGE .= tm_debugmessage("double opt in click!");
    }
    $doptin_check = TRUE;
    //check for valid email
    $check_mail = checkEmailAdr($email, $EMailcheck_Subscribe);
}
//invalid email
if ($doptin_check && !$check_mail[0]) {
    if (DEBUG) {
        $MESSAGE .= tm_debugmessage("invalid email!");
    }
    if ($use_form) {
        $OUTPUT .= $FRM[0]['email_errmsg'] . "<br>";
    } else {
        $OUTPUT .= "ERR 3<br>";
    }
}
if ($doptin_check && $check_mail[0]) {
    if (DEBUG) {
        $MESSAGE .= tm_debugmessage("validating email");
Example #12
0
     $_MAIN_MESSAGE .= "<br>" . ___("Die E-Mail-Adresse für Benachrichtigungen darf nicht leer sein") . ".";
 }
 $check_mail = checkEmailAdr($notify_mail, $EMailcheck_Intern);
 if (!empty($notify_mail) && !$check_mail[0]) {
     $check = false;
     $_MAIN_MESSAGE .= "<br>" . ___("Die E-Mail-Adresse für Benachrichtigungen bei An-/Abmeldungen ist nicht gültig.") . " " . $check_mail[1];
 }
 if (!empty(${$InputName_CheckitFromEmail})) {
     $check_mail = checkEmailAdr(${$InputName_CheckitFromEmail}, $EMailcheck_Intern);
     if (!$check_mail[0]) {
         $check = false;
         $_MAIN_MESSAGE .= "<br>" . ___("Die Filter E-Mail-Adresse für die automatische Prüfung ist nicht gültig.") . " " . $check_mail[1];
     }
 }
 if (${$InputName_BounceitFilterTo} == 1) {
     $check_mail = checkEmailAdr(${$InputName_BounceitFilterToEmail}, $EMailcheck_Intern);
     if (!$check_mail[0]) {
         $check = false;
         $_MAIN_MESSAGE .= "<br>" . ___("Die Filter E-Mail-Adresse für das  automatische Bouncemanagement ist nicht gültig.") . " " . $check_mail[1];
     }
 }
 if (!DEMO && $check) {
     $track_image = "";
     if ($uploaded_track_image_new) {
         $track_image = "/" . $uploaded_track_image_new_name;
     } else {
         $track_image = $track_image_existing;
     }
     $CONFIG->updateCFG(array("siteid" => TM_SITEID, "name" => $name, "lang" => $lang, "style" => $style, "notify_mail" => $notify_mail, "notify_subscribe" => $notify_subscribe, "notify_unsubscribe" => $notify_unsubscribe, "max_mails_retry" => $max_retry, "emailcheck_intern" => $emailcheck_intern, "emailcheck_subscribe" => $emailcheck_subscribe, "emailcheck_sendit" => $emailcheck_sendit, "emailcheck_checkit" => $emailcheck_checkit, "check_version" => $check_version, "track_image" => $track_image, "rcpt_name" => $rcpt_name, "unsubscribe_use_captcha" => $unsubscribe_use_captcha, "unsubscribe_digits_captcha" => $unsubscribe_digits_captcha, "unsubscribe_sendmail" => $unsubscribe_sendmail, "unsubscribe_action" => $unsubscribe_action, "unsubscribe_host" => $unsubscribe_host, "checkit_limit" => $checkit_limit, "checkit_from_email" => $checkit_from_email, "checkit_adr_reset_error" => $checkit_adr_reset_error, "checkit_adr_reset_status" => $checkit_adr_reset_status, "bounceit_limit" => $bounceit_limit, "bounceit_host" => $bounceit_host, "bounceit_action" => $bounceit_action, "bounceit_search" => $bounceit_search, "bounceit_filter_to" => $bounceit_filter_to, "bounceit_filter_to_email" => $bounceit_filter_to_email, "proof" => $proof, "proof_url" => $proof_url, "proof_trigger" => $proof_trigger, "proof_pc" => $proof_pc));
     $_MAIN_MESSAGE .= "<br>" . ___("Die Einstellungen wurden gespeichert und sind ab sofort gültig") . "!";
     $action = "adm_set";