failing to understand that in reality it shows up when, as you say, "It's good and ready".
That may be the reality for sending e-mail to random people on the internet.
However, when both the sender and the receiver are under your control then you can indeed make assumptions about average latency, delivery guarantees and failure modes.
I.e. an e-mail will normally arrive instantly (sub-second) unless it is relayed through an unknown path or the network-path is down.
Most MTA's were not designed to be used as a backend message-queue - but can still work very well for that when configured accordingly, as they have most of the relevant primitives baked in (durability, error reporting, redundancy, re-sends).
There's nothing wrong with piggybacking SMTP for such jobs as long as you know what you're doing.
That may be the reality for sending e-mail to random people on the internet.
However, when both the sender and the receiver are under your control then you can indeed make assumptions about average latency, delivery guarantees and failure modes.
I.e. an e-mail will normally arrive instantly (sub-second) unless it is relayed through an unknown path or the network-path is down.
Most MTA's were not designed to be used as a backend message-queue - but can still work very well for that when configured accordingly, as they have most of the relevant primitives baked in (durability, error reporting, redundancy, re-sends).
There's nothing wrong with piggybacking SMTP for such jobs as long as you know what you're doing.