A computer implemented method comprising: receiving a subscription request from a client application, the subscription request being a request to transmit an opt-in message to a recipient and including a telephone number assigned to a recipient device; transmitting a response to the client application, said response including a confirmation of successful receipt of the subscription request; authenticating a client associated with the client application; upon successful authentication of the client, validating the subscription request by determining that the telephone number included in the subscription request is a valid telephone number; upon successful validation of the subscription request, transmitting an opt- in message to the recipient device directly or via an SMS aggregator for routing of the message to the recipient device; receiving a confirmation of an opt-in from the recipient device; storing a record of various data associated with the subscription request including an indication of the opt- in from the recipient device; receiving (204, 206), from the client application, a message transmission request, the message transmission request including a plurality of parameters, the plurality of parameters specifying the telephone number assigned to the recipient device and a message to transmit to the recipient device; determining that the telephone number is valid; determining that the recipient associated with the recipient device has provided approval for receiving messages sent on behalf of the client based on the recipient having previously opted-in; determining that the message conforms to a predefined messaging standard; and in response to the determining that the telephone number is valid, the determining that the recipient device has provided approval for receiving messages sent on behalf of the client, and the determining that the message conforms to the predefined messaging standard, causing transmission of the message to the recipient device; receiving a subscription request from a client application, the subscription request being a request to transmit an opt-in message to a recipient and including a telephone number assigned to a recipient device; transmitting a response to the client application, said response including a confirmation of successful receipt of the subscription request; authenticating a client associated with the client application; upon successful authentication of the client, validating the subscription request by determining that the telephone number included in the subscription request is a valid telephone number; upon successful validation of the subscription request, transmitting an opt- in message to the recipient device directly or via an SMS aggregator for routing of the message to the recipient device; receiving a confirmation of an opt-in from the recipient device; storing a record of various data associated with the subscription request including an indication of the opt- in from the recipient device; receiving (204, 206), from the client application, a message transmission request, the message transmission request including a plurality of parameters, the plurality of parameters specifying the telephone number assigned to the recipient device and a message to transmit to the recipient device; determining that the telephone number is valid; determining that the recipient associated with the recipient device has provided approval for receiving messages sent on behalf of the client based on the recipient having previously opted-in; determining that the message conforms to a predefined messaging standard; and in response to the determining that the telephone number is valid, the determining that the recipient device has provided approval for receiving messages sent on behalf of the client, and the determining that the message conforms to the predefined messaging standard, causing transmission of the message to the recipient device;