moonbit-community/email/transport does not have a README file

    SmtpClientError

    pub suberror SmtpClientError {
    TransportClosed
    BusyTransport
    Timeout(SmtpPhase, Int)
    ConnectionFailure(SmtpPhase, String)
    InvalidResponse(String)
    UnexpectedStatus(Int, Int, String)
    ServiceRejected(SmtpPhase, Int, String, FailureClass)
    MissingExtension(String)
    MissingAuthMechanism(SmtpAuthMechanism)
    AuthFailed(String)
    ProtocolError(String)
    } derive(Eq,
    Debug
    )

    DeliveryOutcome

    DeliveryOutcome::all_accepted

    fn DeliveryOutcome::all_accepted(recipients : Array[
    Mailbox
    ], response? : String) -> DeliveryOutcome

    DeliveryRecord

    pub struct DeliveryRecord {
    envelope :
    Envelope

    encoded_message : String
    } derive(Eq,
    Debug
    )

    FailureClass

    pub(all) enum FailureClass {
    Transient
    Permanent
    } derive(Eq,
    Debug
    )

    FakeTransport

    pub struct FakeTransport {
    records : Array[DeliveryRecord]
    closed : Bool
    } derive(
    Debug
    )

    FakeTransport::close

    fn FakeTransport::close(self : FakeTransport) -> Unit

    FakeTransport::new

    FakeTransport::records

    FakeTransport::send

    FileArtifact

    pub struct FileArtifact {
    path : String
    content : String
    } derive(Eq,
    Debug
    )

    FileTransport

    pub struct FileTransport {
    root_dir : String
    artifacts : Array[FileArtifact]
    next_index : Int
    closed : Bool
    } derive(
    Debug
    )

    FileTransport::artifacts

    fn FileTransport::artifacts(self : FileTransport) -> Array[FileArtifact]

    FileTransport::close

    fn FileTransport::close(self : FileTransport) -> Unit

    FileTransport::new

    fn FileTransport::new(root_dir : String) -> FileTransport

    FileTransport::send

    SmtpAttempt

    pub struct SmtpAttempt {
    envelope :
    Envelope

    encoded_message : String
    connection_id : Int
    trace : Array[String]
    } derive(Eq,
    Debug
    )

    SmtpAuth

    pub(all) enum SmtpAuth {
    None
    Plain(String, String)
    Login(String, String)
    Xoauth2(String, String)
    } derive(Eq,
    Debug
    )

    SmtpAuthMechanism

    pub(all) enum SmtpAuthMechanism {
    Plain
    Login
    Xoauth2
    } derive(Eq,
    Debug
    )

    SmtpCapabilities

    pub struct SmtpCapabilities {
    raw_lines : Array[String]
    auth_mechanisms : Array[SmtpAuthMechanism]
    supports_starttls : Bool
    supports_pipelining : Bool
    supports_8bitmime : Bool
    max_message_size : Int?
    } derive(Eq,
    Debug
    )

    SmtpCapabilities::supports_auth

    fn SmtpCapabilities::supports_auth(self : SmtpCapabilities, mechanism : SmtpAuthMechanism) -> Bool

    SmtpConfig

    pub struct SmtpConfig {
    host : String
    port : Int
    hello_name : String
    security : SmtpSecurity
    auth : SmtpAuth
    tls_trust : SmtpTlsTrust
    timeouts : SmtpTimeouts
    retry_policy : SmtpRetryPolicy
    reuse_connection : Bool
    } derive(Eq,
    Debug
    )

    SmtpConfig::new

    fn SmtpConfig::new(host : String, port : Int, hello_name? : String, security? : SmtpSecurity, auth? : SmtpAuth, tls_trust? : SmtpTlsTrust, timeouts? : SmtpTimeouts, retry_policy? : SmtpRetryPolicy, reuse_connection? : Bool) -> SmtpConfig

    SmtpPhase

    pub(all) enum SmtpPhase {
    Connect
    Greet
    Hello
    StartTls
    TlsHandshake
    Auth
    MailFrom
    RcptTo
    DataCommand
    MessageBody
    FinalResponse
    Quit
    } derive(Eq,
    Debug
    )

    SmtpRetryPolicy

    pub struct SmtpRetryPolicy {
    max_retries : Int
    retry_delay_ms : Int
    retry_on_connection_failure : Bool
    retry_on_timeout : Bool
    retry_on_transient_failure : Bool
    } derive(Eq,
    Debug
    )

    SmtpRetryPolicy::new

    fn SmtpRetryPolicy::new(max_retries? : Int, retry_delay_ms? : Int, retry_on_connection_failure? : Bool, retry_on_timeout? : Bool, retry_on_transient_failure? : Bool) -> SmtpRetryPolicy

    SmtpSecurity

    pub(all) enum SmtpSecurity {
    Plain
    StartTls
    Tls
    } derive(Eq,
    Debug
    )

    SmtpTimeouts

    pub struct SmtpTimeouts {
    connect_ms : Int
    greeting_ms : Int
    command_ms : Int
    data_ms : Int
    idle_ms : Int
    } derive(Eq,
    Debug
    )

    SmtpTimeouts::new

    fn SmtpTimeouts::new(connect_ms? : Int, greeting_ms? : Int, command_ms? : Int, data_ms? : Int, idle_ms? : Int) -> SmtpTimeouts

    SmtpTlsTrust

    pub(all) enum SmtpTlsTrust {
    SystemRoot
    InsecureNoVerify
    CustomPemFile(String)
    } derive(Eq,
    Debug
    )

    SmtpTransport

    pub struct SmtpTransport {
    // private fields
    }

    SmtpTransport::capabilities

    fn SmtpTransport::capabilities(self : SmtpTransport) -> SmtpCapabilities?

    SmtpTransport::close

    fn SmtpTransport::close(self : SmtpTransport) -> Unit

    SmtpTransport::new

    SmtpTransport::send

    async fn SmtpTransport::send(self : SmtpTransport, envelope :
    Envelope
    , encoded_message : String) -> DeliveryOutcome

    StubSmtpTransport

    pub struct StubSmtpTransport {
    pool_size : Int
    planned_outcomes : Array[DeliveryOutcome]
    next_plan_index : Int
    attempts : Array[SmtpAttempt]
    send_count : Int
    closed : Bool
    } derive(
    Debug
    )

    StubSmtpTransport::attempts

    StubSmtpTransport::close

    fn StubSmtpTransport::close(self : StubSmtpTransport) -> Unit

    StubSmtpTransport::new

    fn StubSmtpTransport::new(pool_size? : Int, planned_outcomes? : Array[DeliveryOutcome]) -> StubSmtpTransport

    StubSmtpTransport::send

    TransportError

    pub(all) enum TransportError {
    ClosedTransport
    IoFailure(String)
    } derive(Eq,
    Debug
    )

    Powered by MoonBit

    Site sourceReport issueModulesSkillsBuild queueStatistics

    © 2026 mooncakes.io