Make sure fetch isn't set to "manual" (use check every 15 minutes) even if you have push on, then reboot the phone.
what do you mean "push"?
Why should that matter? The issue is with push, and fetching is only when push is off or unavailable. Even if push is failing and fetch is making up for it by fetching data every 15, 30, or 60 minutes, the point is that push isn't working properly. I want my mail delivered instantly, via push.
It's a known bug within Yahoo that causes mail not to work when it's set to "manual." I wanted to confirm that it's not the source of the problem.
Also, go to Settings > Mail > Fetch New Data > Advanced and ensure it's set to Push.
Basially Yahoo email users on iPhone 4 (on my end) don't get notified right away if they had a new incoming email, unlike before. Now we have to manually check our inbox, by tapping the Mail app, for new incoming emails. Before this was done flawlessly, emails were just "pushed" instantly, not manually fetched even though the setting for Yahoo was on push.
This problem has been around for a long time. I had this problem when I first got my 3G and then after a couple of months it started working again. Now for the last 2 months I have had this problem (with my 3G), and it is now continuing with my iPhone 4 ... I don't think it's an Apple problem, but rather Yahoos server issue.
what i have noticed is when the mail.app is "running" in my "task bar" thing for multi tasking, it doesnt push, but if i make sure its closed out of there when im done in the app i get the push mail just fine...
I 'had' the same issue coming from iPhone 3G--'restoring' from its data. But I tried the following and I have had NO problem since (knock on wood):
In the settings, try "reset" (the first one, the one that doesn't erase anything).