Skip to main content

run

Function run 

Source
pub async fn run() -> Result<()>
Expand description

Runs the main MailLaser application logic.

Initializes and launches the SMTP and health check servers in separate asynchronous tasks. It then monitors these tasks using tokio::select!. The application is designed to run indefinitely. This function will only return if a critical error occurs in configuration loading or if one of the essential server tasks terminates unexpectedly (either by error, panic, or unexpected clean exit).

ยงReturns

  • Ok(()): Should theoretically never return this in normal operation, as servers run indefinitely.
  • Err(anyhow::Error): If configuration loading fails, or if either the SMTP or health check server task stops unexpectedly. The error indicates a fatal condition preventing the application from continuing.