The problem
You try to send an MMS message from your iPhone and you are getting this error:
Cannot Send Message
MMS Messaging needs to be enabled to send this message
You check the Settings → Messages → MMS Messaging toggle and it is actually on.
The solution
If you have multiple SIM cards added to your iPhone (both e-SIM and classic), the toggle you are seeing may refer to a different SIM card. For example, you use one as the default number, but this exact message you want sent from another one. In this case the Messages settings will refer to the default SIM card and not your other one, so even if the toggle is ON, that does not mean it is ON for the other SIM card.
To check, turn off temporarily SIM cards other than the number you want the message to be sent from, and return to the Messages settings to make sure the MMS Messaging toggle is ON for that number.
This is why you can see people claiming these worked:
- replacing a classic SIM with an e-SIM or vice versa
- resetting the network settings
The above will accomplish the same outcome (that is, having the MMS on for the secondary SIM), just with a ton of complications.