If you have recently upgraded your iPhone (and you should, see https://gotofail.com), your iMessage settings may be messed up – this isn’t visible to you, but it is to your contacts. If someone is sending you text messages that appear to come from an email address rather than their phone number, then they have this problem – please tell them and send them here.
To check if you have the problem yourself:
- Go to settings > Messages > Send and Receive
- Under “You can be reached by iMessage at”, if your phone number is not ticked, you have this problem.
To fix (this worked for me):
- Go to Settings > Messages
- Turn off iMessage
- Go to Settings > Cellular
- Turn off Cellular Data
- Reboot phone
- Turn Cellular Data and iMessage back on
- Go to Settings > Messages > Send and Receive
- Under “Start new conversations from”, tick your phone number
If you want to fail back to SMS messaging when iMessage is unavailable, make sure to enable Settings > Messages > Send as SMS. This was disabled by default on my fresh iOS7, and can cause text messages to be mysteriously delayed.
For more detail on the problem, see http://simonhackett.com/2013/11/06/ios7-imessage-mobile-number-linking/