This repository has been archived on 2023-09-20. You can view files and clone it, but cannot push or open issues or pull requests.
rust-opensmtpd/opensmtpd/examples/session_event_counter.rs
Rodolphe Breard ae8b64941e Add a logger
OpenSMTPD plans to gather all logs from filters. Therefore, a default
logger that implements the smtpd (future) log interface has to be
available.
2019-01-17 19:53:04 +01:00

18 lines
435 B
Rust

use log::{info, Level};
use opensmtpd::{event, handlers, Entry, SmtpIn, SmtpdLogger};
#[derive(Clone, Default)]
struct MyContext {
nb: usize,
}
#[event(Any)]
fn on_event(ctx: &mut MyContext, entry: &Entry) {
ctx.nb += 1;
info!("Event received: {}, {}", entry.session_id, ctx.nb);
}
fn main() {
let _ = SmtpdLogger::new().set_level(Level::Debug).init();
SmtpIn::new().event_handlers(handlers!(on_event)).run();
}