} 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 {
${$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;
//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
$_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 {
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; }
$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 {
$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");
$_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";