GPS/GPRS/GSM Shield V3.0(CoolTerm vs Arduino Serial Monitor)

Hi guys,
Currently I'm trying to use GPS/GPRS/GSM Shield V3.0 to connect with my server using HTTP protocol. It can be done by using CoolTerm software to key in the AT command one by one. Below is the response of CoolTerm software.
You will see some funny words in these pictures. This is because for every AT command, the first time that I key in the response will be those funny words, only when I key in second time, the appropriate responses come out.
Note: whenever I got connected with the server, I will receive an email. Email is received when I use CoolTerm but not Arduino Serial Monitor.
Since , I successfully received email using CoolTerm. So I use the same AT command as what I used with CoolTerm. Below is my Arduino code.
Code: Select allvoid setup() {
// put your setup code here, to run once:
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
//Output GSM Timing
digitalWrite(5,HIGH);
delay(1500);
digitalWrite(5,LOW);
digitalWrite(3,LOW);//enable GSM TX、RX
digitalWrite(4,HIGH);//disable GPS TX、RX
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
//I put 2 line for each AT command because CoolTerm need to key in 2 times to get appropriate response.
Serial.println("AT");
delay(3000);
Serial.println("AT");
delay(3000);
Serial.println("AT+CREG?");
delay(3000);
Serial.println("AT+CREG?");
delay(3000);
Serial.println("AT+SAPBR=3,1,\"APN\",\"m2minternet\"");
delay(3000);
Serial.println("AT+SAPBR=3,1,\"APN\",\"m2minternet\"");
delay(3000);
Serial.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\"");
delay(3000);
Serial.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\"");
delay(3000);
Serial.println("AT+SAPBR=1,1");
delay(3000);
Serial.println("AT+SAPBR=1,1");
delay(10000);//This delay is longer because it takes longer time to response for this particular AT command in CoolTerm
Serial.println("AT+HTTPINIT");
delay(3000);
Serial.println("AT+HTTPINIT");
delay(3000);
Serial.println("AT+HTTPPARA=\"CID\",1");
delay(3000);
Serial.println("AT+HTTPPARA=\"CID\",1");
delay(3000);
Serial.println("AT+HTTPPARA=\"URL\",\"myserver");
delay(3000);
Serial.println("AT+HTTPPARA=\"URL\",\"myserver");
delay(3000);
Serial.println("AT+HTTPACTION=0"); //now GET action
delay(3000);
Serial.println("AT+HTTPACTION=0"); //now GET action
delay(90000);//This delay is longer because it takes longer time to response for this particular AT command in CoolTerm
}
I was unable to get an email when I use the Arduino IDE to upload the AT command to shield. I don't know what's the reason.
I hope someone can help me and tell me if I done anything wrong. I will really appreciate it. Thank you.