MQTT persistent outbox

I want to use Photon and MQTT to deliver “live” packets from vehicles to a fixed station. The vehicles will not always be in range of the station so I need the Photon to hold the messages in a queue and deliver when in range again.

From my understanding, MQTT will hold messages in the outbox until delivered, is this true and if so, how much data can be held in the outbox before it overflows?