This requires a DATA connection. Apple assumes every iPhone has a Data connection, and since
iMessages is designed to NOT use SMS (saving the user money), it
will wait until it gets a data connection before sending the message. A Data connection is either EDGE/3G/4G from the carrier, or
Wifi.
read more >>