What do the statuses in a delivery report mean?
After every send you get a status per message. Those words look alike but mean something quite different, and the difference decides whether you need to act.
Sent
The message has been accepted by the operator and is on its way. This is not yet confirmation that it arrived.
Delivered
The device received the message. This is the only status that confirms the SMS got there. Whether anybody read it, nobody knows — SMS has no read receipt.
Buffered
The operator is holding the message because the device is off or out of range, and is retrying. This usually resolves itself.
Undelivered
The operator gave up. Often a number that no longer exists. Remove it from your list.
Expired
The validity period ran out before the device became reachable. For time-critical messages such as codes, keep that period short.
Rejected
Refused before it travelled: an invalid number, a sender name that is not allowed, or a destination that is not open.
Blacklist
The recipient opted out. Respect that — it is also a legal requirement.