I have come up with a simple fix! I am fortunate to have access to two Pixel 2s (one XL and one not) and will try this with my wife's, but here's the story:
Situation
My wife and I work for the same company and she mainly uses MMS and I don't, but it is happening to both of us after upgrading to Pixel 2s. She has the Pixel 2 and I have the XL. I have done a test where I added my Google Voice number and my wife's number in a group message and tested all sorts of combination of things. Our phone's MMS works on the house Wi-Fi and the mobile network, but not on our work Wi-Fi. I have reset network settings and APN settings back to default, no change. Looking at the APN settings, I realized the two T-Mobile MMS listings have the APN listed as "TMUS," whereas the default APN is listed as "fast.t-mobile.com." Since "TMUS" is not a valid domain name, I changed the first T-Mobile MMS APN to fast.t-mobile.com and MMS started working on Wi-Fi. I reset my APN settings back to default and it stopped working on my work's Wi-Fi again. I thought that I should leave the default APNs alone, just in case and decided to create a third T-Mobile MMS APN with fast.t-mobile.com as the APN. This third T-Mobile MMS APN somehow allows MMSs to work on the company's Wi-Fi.
Fix
- Go to Settings > Network & Internet > Mobile network > Access Point Names.
- Tap on the 3 dot menu at the upper-right and select "Reset to default."
- Create a new APN with the following settings:
- Name: T-Mobile MMS
- APN: fast.t-mobile.com
- Proxy, Port, Username, Password, and Server: Not Set
- MMSC: http://mms.msg.eng.t-mobile.com/mms/wapenc (When typing this in, make sure auto correct doesn't change anything since URLs are case sensitive!)
- MMS Proxy and MMS Port: Not Set
- MCC: 310 (Should already be set)
- MNC: 260 (Should already be set)
- APN Type: mms
- APN Protocol: IPv6
- APN Roaming Protocol: IPv4
- Bearer: Unspecified
- MVNO Type: None
- MVNO Value: Not Set
- Tap on the 3 dot menu and select "Save."
- Reboot your phone for good measure (may not be necessary) and open Android Messages.
- Send a MMS or group MMS on and off the Wi-Fi network you are having issues on to see if it sends. If you have several queued up messages that haven't sent, you may need to tap to resend them and they may become out of order on the recipient's end.
Conclusions
The main thing to note about this is that it is the same as the other T-Mobile MMS APN, but has TMUS replaced with fast.t-mobile.com. If you look at the actual default fast.t-mobile.com APN, you'll notice that "mms" isn't listed among the others in APN Type. I feel, if I could edit that default fast.t-mobile.com APN, the problem would be fixed by adding ",mms" at the end. I assume one could duplicate everything in the default one and add it that way, but I wanted to provide the simplest, non-invasive fix possible that would not result in any future problems. When the phone/Google Messages consults the APNs, I assume it goes through each one to attempt to find one with MMS in the APN type and then attempts to contact the APN via its domain name, but fails since TMUS is not valid. I am not sure why it doesn't go ahead, verifies a working data connection, and then sends the MMS using
http://mms.msg.eng.t-mobile.com/mms/wapenc as it seems to do fine on other Wi-Fi networks. I do not know what makes my company's Wi-Fi different aside from it using EAP authentication and the fact that this problem didn't occur on my wife's previous phone (T-Mo Galaxy S7). I had the 2016 Pixel for a while, but I use Google Voice and would not normally notice the MMS issues. I need to implement this on my wife's phone and if I do not update this post, you should assume it worked (I may just forget to come back).
If anyone has a good theory as to wth is going on, please contribute!