SMS not working when replace delay with millis

You don't need all the delays... probably only one after the

AT+CMGS=\"+6xxxxxxxxxx\"\r"

command... this is to allow the modem to respond with a prompt, so you can then send the message... probably only 100ms or so will do.

These commands only need to be issued once, so you can put them in your setup

"AT+CMGF=1"

"AT+CNMI=2,2,0,0,0"