The fact that you don't have AT&T makes you more likely to have the ability to send/receive MMS. SwirlyMMS will definitely work on T-Mobile, and other carriers. I actually have SwirlyMMS working on my 3G iPhone on AT&T, with the iPhone data plan. But since you don't have AT&T, you don't have to work as hard to get it to work.
Go to Cydia and download SwirlyMMS. You can try it before you buy it, so there's nothing to lose. Second, you need to get the settings for your carrier. I don't think you said who your carrier was, so I can't help with that.
For those on AT&T, this is how I got Swirly to work, and it is still working after two complete billing cycles;
1. I have a family plan with 3 lines......1 iPhone 3g, 1 iPhone 2.5g, and one V3xx.
2. Removed my iPhone texting plan from the 3G iphone by upgrading to the Family Unlimited Texting.
3. I removed the SIM from the 3G iPhone and place it in the V3xx. I Made a call and let it go through.
4. Went to OLAM (wireless.att.com) and logged in. Changed my iPhone 3G to a V3xx.
5. Now I used the V3xx (with the iPhone SIM still in it) and sent and received an MMS.
6. Put my iPhone SIM back in my iPhone and opened SwirlyMMS. Went to Settings, and then to Run Settings Wizard. I picked the following Settings:
MMSC: msc.singular.com
Proxy: 66.209.11.32:8080
APN: wap.cingular
Username: [email protected]
Password: CINGULAR1
Image Size
: Med
User Agent: iPhone
Notes****
This works without calling AT&T for the OTA and VLR reset only because I have another line besides the iPhone 3G that is capable of MMS. AT&T has two systems. The frontend system is what you can access through OLAM. That system is accessed and the phone is switched from an iPhone to a V3xx by the user
. If all you do is that, the next time you make a call the system will set it back to iPhone. The backend system is the one that ensures your SIM is synced with your IMEI. When I placed a call with the iPhone SIM inside the V3xx, the IMEI from the V3xx was instantly tied to that SIM card. Because the frontend system doesn't check to see that the IMEI and the SIM are synced, I am able to put the SIM back in the iPhone and send/receive MMS through SwirlyMMS.
The most important part is to actually make a phone call and send and receive an MMS with the iPhone SIM inside the V3xx (insert other MMS-capable phone here). After all, you have to be able to send/receive MMS' with that SIM, if it is to work in the iPhone right? Right.
Hope I didn't hijack this thread, but it looks like there are other users who are misled to believe that SwirlyMMS can't work with iPhone 3G on AT&T, with the iPhone data plan. This is not the case, but it is far from easy to accomplish.