acs_mail_lite::inbound_queue_pull_one (private)
acs_mail_lite::inbound_queue_pull_one -h_array_name h_array_name \ -p_array_name p_array_name -aml_email_id aml_email_id \ [ -mark_processed_p mark_processed_p ] \ [ -legacy_array_name legacy_array_name ]
Defined in packages/acs-mail-lite/tcl/email-inbound-procs.tcl
Puts email referenced by aml_email_id from the inbound queue into array of h_array_name and p_array_name for use by registered callbacks. Arrays are repopulated with values in the same manner that acs_mail_lite::inbounde_queue_insert receives them. See below for details. When complete, marks the email in the queue as processed, if mark_processed_p is 1. Array content corresponds to these tables:
h_arr($name) $value acs_mail_lite_ie_headers Some indexes match fields of table acs_mail_lite_from_external: h_arr(aml_email_id) assigned by acs_mail_lite::inbound_queue_insert h_arr(aml_to) to email including any label h_arr(aml_to_addrs) to_email_addrs h_arr(aml_from) from email including any label h_arr(aml_from_addrs) from_email_addrs h_arr(aml_priority) priority h_arr(aml_subject) email subject (normalized index reference). h_arr(aml_msg_id) email message-id or msg-id's cross-reference see acs_mail_lite_msg_id_map.msg_id h_arr(aml_size_chars) size_chars Some headers are transferred from the email generation process. See acs_mail_lite::unique_id_create for details: h_arr(aml_package_id) h_arr(aml_party_id) h_arr(aml_object_id) h_arr(aml_other) Some headers are internally generated during input: h_arr(aml_type) Type of email from acs_mail_lite::email_type h_arr(aml_received_cs) Time received in seconds since Tcl epoch h_arr(aml_datetime_cs) Time unique_id generated in seconds since Tcl epoch h_arr(aml_processed_p) processed_p h_arr(aml_priority) a priority number assigned to email. Email parts (of body) are kept in a separate array: p_arr($section_ref,<field>) acs_mail_lite_ie_parts (content of a part) p_arr($section_ref,nv_list) acs_mail_lite_part_nv_pairs p_arr(section_ref_list) list of section_refs where index is section_ref based on section_ref, and where top most section_ref is a natural number as there may be more than one tree. Specifically, for p_arr array: content is p_arr($section_ref,content) c_type is p_arr($section_ref,c_type) filename is p_arr($section_ref,filename) c_filepathname is p_arr($section_ref,c_filepathname) where: c_type is content-type header filename is filename of an attachment in email c_filepathname is the filepathname within the system. Each section may have headers: To avoid any header-name collision with content, c_type etc, headers are supplied in a name_value_list only: list of headers by section is p_arr($section_ref,name_value_list) list of section_refs is p_arr(section_ref_list) For direct compatibility with legacy email systems that used:acs_mail_lite::email_parse, a compatible array is passed to legacy_array_name, if parameter is used.
- Switches:
- -h_array_name (required)
- -p_array_name (required)
- -aml_email_id (required)
- -mark_processed_p (optional, defaults to
"1"
)- -legacy_array_name (optional)
- See Also:
- acs_mail_lite::email_parse
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.