https://www.developershome.com/sms/cmgrCommand2.asp

First, enter the command line “AT+CMGF=1” in a terminal program (for example, HyperTerminal in Microsoft Windows) to instruct the GSM/GPRS modem or mobile phone to operate in SMS text mode. This step is necessary because the default mode is SMS PDU mode.

AT+CMGF=1

OK

Second, use the AT command +CPMS (command name in text: Preferred Message Storage) to select the message storage area to read SMS text messages from. For example, to instruct the GSM/GPRS modem or mobile phone to use the message storage area in the SIM card for the AT command +CMGR, enter the command line 'AT+CPMS=“SM”' in the terminal program (more details here)

AT+CPMS="SM","SM"
+CPMS: 2,10,2,10,3,160

OK

Third, you can now use the +CMGR AT command to read a text message from the message storage area. Let's say you would like to read the text message at index 1

AT+CMGR=1

To send SMS

AT+CMGS="xxxxxx"

To store SMS without sending

AT+CMGW="xxxxx"

To send similar message to multiple recipient

** use the AT+CMGW to store the message and get message location number **
AT+CMSS=id,"xxxxxx"

To list all SMS

AT+CMGL="ALL"
AT+CMGL="REC READ"
AT+CMGL="REC UNREAD"
AT+CMGL="STO UNSENT"

Other Basic AT Commands

GSM Manufacturer Info

GSM Configuration

Network Command

SMS Command