Added retry_num, notify_num, last_error, last_status variables to queue expressions
This commit is contained in:
@@ -86,7 +86,7 @@ pub(crate) const SMTP_RCPT_TO_VARS: &[u32; 15] = &[
|
||||
V_PRIORITY,
|
||||
V_HELO_DOMAIN,
|
||||
];
|
||||
pub(crate) const SMTP_QUEUE_HOST_VARS: &[u32; 9] = &[
|
||||
pub(crate) const SMTP_QUEUE_HOST_VARS: &[u32; 14] = &[
|
||||
V_SENDER,
|
||||
V_SENDER_DOMAIN,
|
||||
V_RECIPIENT_DOMAIN,
|
||||
@@ -96,22 +96,46 @@ pub(crate) const SMTP_QUEUE_HOST_VARS: &[u32; 9] = &[
|
||||
V_PRIORITY,
|
||||
V_REMOTE_IP,
|
||||
V_LOCAL_IP,
|
||||
V_QUEUE_RETRY_NUM,
|
||||
V_QUEUE_NOTIFY_NUM,
|
||||
V_QUEUE_EXPIRES_IN,
|
||||
V_QUEUE_LAST_STATUS,
|
||||
V_QUEUE_LAST_ERROR,
|
||||
];
|
||||
pub(crate) const SMTP_QUEUE_RCPT_VARS: &[u32; 5] = &[
|
||||
pub(crate) const SMTP_QUEUE_RCPT_VARS: &[u32; 10] = &[
|
||||
V_RECIPIENT_DOMAIN,
|
||||
V_RECIPIENTS,
|
||||
V_SENDER,
|
||||
V_SENDER_DOMAIN,
|
||||
V_PRIORITY,
|
||||
V_QUEUE_RETRY_NUM,
|
||||
V_QUEUE_NOTIFY_NUM,
|
||||
V_QUEUE_EXPIRES_IN,
|
||||
V_QUEUE_LAST_STATUS,
|
||||
V_QUEUE_LAST_ERROR,
|
||||
];
|
||||
pub(crate) const SMTP_QUEUE_SENDER_VARS: &[u32; 3] = &[V_SENDER, V_SENDER_DOMAIN, V_PRIORITY];
|
||||
pub(crate) const SMTP_QUEUE_MX_VARS: &[u32; 6] = &[
|
||||
pub(crate) const SMTP_QUEUE_SENDER_VARS: &[u32; 8] = &[
|
||||
V_SENDER,
|
||||
V_SENDER_DOMAIN,
|
||||
V_PRIORITY,
|
||||
V_QUEUE_RETRY_NUM,
|
||||
V_QUEUE_NOTIFY_NUM,
|
||||
V_QUEUE_EXPIRES_IN,
|
||||
V_QUEUE_LAST_STATUS,
|
||||
V_QUEUE_LAST_ERROR,
|
||||
];
|
||||
pub(crate) const SMTP_QUEUE_MX_VARS: &[u32; 11] = &[
|
||||
V_RECIPIENT_DOMAIN,
|
||||
V_RECIPIENTS,
|
||||
V_SENDER,
|
||||
V_SENDER_DOMAIN,
|
||||
V_PRIORITY,
|
||||
V_MX,
|
||||
V_QUEUE_RETRY_NUM,
|
||||
V_QUEUE_NOTIFY_NUM,
|
||||
V_QUEUE_EXPIRES_IN,
|
||||
V_QUEUE_LAST_STATUS,
|
||||
V_QUEUE_LAST_ERROR,
|
||||
];
|
||||
|
||||
impl SmtpConfig {
|
||||
|
||||
@@ -43,6 +43,11 @@ pub const V_PRIORITY: u32 = 12;
|
||||
pub const V_PROTOCOL: u32 = 13;
|
||||
pub const V_TLS: u32 = 14;
|
||||
pub const V_RECIPIENTS: u32 = 15;
|
||||
pub const V_QUEUE_RETRY_NUM: u32 = 16;
|
||||
pub const V_QUEUE_NOTIFY_NUM: u32 = 17;
|
||||
pub const V_QUEUE_EXPIRES_IN: u32 = 18;
|
||||
pub const V_QUEUE_LAST_STATUS: u32 = 19;
|
||||
pub const V_QUEUE_LAST_ERROR: u32 = 20;
|
||||
|
||||
pub const VARIABLES_MAP: &[(&str, u32)] = &[
|
||||
("rcpt", V_RECIPIENT),
|
||||
@@ -61,6 +66,11 @@ pub const VARIABLES_MAP: &[(&str, u32)] = &[
|
||||
("protocol", V_PROTOCOL),
|
||||
("is_tls", V_TLS),
|
||||
("recipients", V_RECIPIENTS),
|
||||
("retry_num", V_QUEUE_RETRY_NUM),
|
||||
("notify_num", V_QUEUE_NOTIFY_NUM),
|
||||
("expires_in", V_QUEUE_EXPIRES_IN),
|
||||
("last_status", V_QUEUE_LAST_STATUS),
|
||||
("last_error", V_QUEUE_LAST_ERROR),
|
||||
];
|
||||
|
||||
use regex::Regex;
|
||||
@@ -215,12 +225,24 @@ impl From<i64> for Variable<'_> {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<u64> for Variable<'_> {
|
||||
fn from(value: u64) -> Self {
|
||||
Variable::Integer(value as i64)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<i32> for Variable<'_> {
|
||||
fn from(value: i32) -> Self {
|
||||
Variable::Integer(value as i64)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<u32> for Variable<'_> {
|
||||
fn from(value: u32) -> Self {
|
||||
Variable::Integer(value as i64)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<u16> for Variable<'_> {
|
||||
fn from(value: u16) -> Self {
|
||||
Variable::Integer(value as i64)
|
||||
|
||||
Reference in New Issue
Block a user