acs_mail_lite::inbound_filters (private)
acs_mail_lite::inbound_filters [ -headers_arr_name headers_arr_name ]
Defined in packages/acs-mail-lite/tcl/email-inbound-procs.tcl
Flags to ignore an inbound email that does not pass filters. Returns 1 if email should be ignored, otherwise returns 0. Headers and values are not alphanumeric case sensitive. Inbound filters are dynamically updated via acs_mail_lite::sched_parameters. Instead of rejecting, an email can be filtered to low priority by using acs_mail_lite::inbound_prioritize parameters
- Switches:
- -headers_arr_name
(optional)- See Also:
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: upvar 1 $headers_arr_name h_arr set reject_p 0 set headers_list [array names h_arr] set p_lists [acs_mail_lite::sched_parameters] # For details on these filters, see tables: # acs_mail_lite_ui.reject_on_hit # .reject_on_miss # h = hit set h_list [dict values $p_lists reject_on_hit] set h_names_list [list ] foreach {n v} $h_list { set n_idx [lsearch -nocase -exact $headers_list $n] if { $n_idx > -1 } { set h [lindex $n_idx] lappend h_names_list $h set vh_arr(${h}) $v } } set h_names_ct [llength $h_names_list] set i 0 while { !$reject_p && $i < $h_names_ct } { set h [lindex $h_names_list $i] if { [string match -nocase $vh_arr(${h}) $h_arr(${h})] } { set reject_p 1 } incr i } # m = miss set m_list [dict values $p_lists reject_on_miss] set m_names_list [list ] foreach {n v} $m_list { set n_idx [lsearch -nocase -exact $headers_list $n] if { $n_idx > -1 } { set h [lindex $n_idx] lappend m_names_list $h set vm_arr(${h}) $v } } set m_names_ct [llength $m_names_list] set i 0 while { !$reject_p && $i < $m_names_ct } { set h [lindex $m_names_list $i] if { ![string match -nocase $vm_arr(${h}) $h_arr(${h})] } { set reject_p 1 } incr i } return $reject_pXQL Not present: PostgreSQL, Oracle Generic XQL file: packages/acs-mail-lite/tcl/email-inbound-procs.xql