drupflare/worker - v1.0.4
    Preparing search index...

    Module ops/mail

    Outbound mail: the transports CfwMail resolves (binding, api, smtp) and the alarm drain. The send is deferred (no render reads MailManager::mail()'s bool; parked SMTP is 13 round trips), so {ok: true} means queued, like an SMTP 250. Workers Free reaches verified destinations only, so smtp is the general answer there; port 25 and Cloudflare's relay IPs are blocked. The send_email binding shows as dropped in the Email Routing summary even when delivered; read Email Sending metrics.

    MailAttempt
    MailDeps
    MailDrain
    MailEnv
    MailMessage
    MailPlan
    MailSql
    MailTransport
    QueueOutcome
    SendEmailLike
    BLOCKED_SMTP_PORT
    CF_SEND_ENDPOINT
    DEFAULT_MAIL_DEPS
    DEFAULT_MAIL_DRAIN_LIMIT
    MAIL_ATTEMPT_BUDGET
    MAIL_DRAIN_BUDGET_MS
    MAIL_SEND_BUDGET_MS
    MAIL_TABLE
    MAX_HEADER_BYTES
    MAX_MAIL_BYTES
    MAX_MAIL_DRAIN_LIMIT
    MAX_RECIPIENTS
    MAX_SUBJECT_CHARS
    cloudflareFailureHint
    cloudflareSendBody
    cloudflareSendUrl
    defaultSmtpPort
    drainMailQueue
    ensureMailTable
    mailDrainEnabled
    mailDrainLimit
    mailEnvFromSite
    mailLimitRefusal
    mailQueueDepth
    mergeMailEnv
    queueMail
    resolveMailTransport
    senderFor
    sendMail
    sendViaApi
    sendViaBinding
    sendViaSmtp
    smtpMail
    splitAddresses