pub enum QmgrEvent {
ConfigurationWarning {
warning_type: String,
message: String,
},
MessageActive {
queue_id: String,
from: String,
size: u64,
nrcpt: u32,
},
MessageRemoved {
queue_id: String,
reason: Option<String>,
},
MessageSkipped {
queue_id: String,
reason: String,
status_details: Option<String>,
},
MessageDeferred {
queue_id: String,
from: String,
to: Option<String>,
relay: Option<String>,
delay: String,
delays: Option<String>,
dsn: Option<String>,
status: String,
},
MessageSent {
queue_id: String,
from: String,
to: String,
relay: String,
delay: String,
delays: Option<String>,
dsn: Option<String>,
status: String,
},
MessageBounced {
queue_id: String,
from: String,
to: String,
reason: String,
dsn: Option<String>,
},
QueueStats {
active: Option<u32>,
deferred: Option<u32>,
hold: Option<u32>,
incoming: Option<u32>,
maildrop: Option<u32>,
},
TransportStatus {
transport: String,
status: String,
details: Option<String>,
},
ResourceLimit {
resource_type: String,
current_value: Option<u32>,
limit_value: Option<u32>,
message: String,
},
QueueFlush {
queue_name: Option<String>,
message_count: Option<u32>,
},
Other {
event_type: String,
message: String,
queue_id: Option<String>,
},
}Expand description
队列管理器组件事件 基于1,987万行真实生产数据分析,qmgr组件出现8,554,899次 (43.1%)
Variants§
ConfigurationWarning
队列配置警告 - 最常见的qmgr日志类型
MessageActive
邮件进入活动队列 - 核心业务事件
MessageRemoved
邮件从队列中移除
MessageSkipped
邮件跳过 - 仍在投递中
MessageDeferred
延迟投递信息 包含延迟时间、DSN状态码等详细信息
Fields
MessageSent
邮件投递成功
Fields
MessageBounced
邮件投递失败(退信)
QueueStats
队列统计信息 qmgr会定期报告队列状态统计
Fields
TransportStatus
传输代理状态 报告各种传输代理的状态
ResourceLimit
资源限制警告 当达到或接近资源限制时的警告
QueueFlush
队列刷新操作 手动或自动队列刷新事件
Other
其他qmgr相关事件 用于处理暂时无法分类的qmgr事件
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for QmgrEvent
impl<'de> Deserialize<'de> for QmgrEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for QmgrEvent
impl RefUnwindSafe for QmgrEvent
impl Send for QmgrEvent
impl Sync for QmgrEvent
impl Unpin for QmgrEvent
impl UnwindSafe for QmgrEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more